1. Лучший говнокод

    В номинации:
    За время:
  2. PHP / Говнокод #15841

    +154

    1. 1
    2. 2
    3. 3
    foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
    do_action("ws_plugin__s2member_before_paypal_api_response", get_defined_vars());
    unset /* Unset defined __refs, __v. */($__refs, $__v);

    И опять s2member для wordpress

    antongorodezkiy, 24 Апреля 2014

    Комментарии (0)
  3. JavaScript / Говнокод #15781

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    var 	unselectedColor	= 'rgba(255, 255, 255, 0.3)',
            selectedColor	= 'rgba(255, 255, 255, 0.9)';
    
    function onDownloadPage(){
         var temp = $$('.selState');
         for(var i = 0; i < temp.length ; i++){
             temp[i].style.backgroundColor = new String(unselectedColor);
             temp[i].onmouseover = function(){this.style.backgroundColor = new String(selectedColor);};
             temp[i].onmouseout = function(){this.style.backgroundColor = new String(unselectedColor);};
         }
     }

    И вот опять с этого сайта...
    CSS hover? Не, не слышал.

    Dart_Sergius, 18 Апреля 2014

    Комментарии (19)
  4. PHP / Говнокод #15772

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    53. 53
    54. 54
    55. 55
    56. 56
    function unpackLoginAndPas($signed,$iv, $dateSend){
        global $crypt, $cryptLast,  $defaultDate, $ivsId, $mysqlBaseName, $mysqlBase;
        //получаем текущую дату. 
        if (isset($dateSend) )
          $date = $dateSend;
        else
          $date = $defaultDate;
    
          $query = "SELECT id FROM ivs WHERE val='$iv';" ;
        $query = $mysqlBase->query($query);// or die (compactResult('error','криворукий программист!'));
        //есть ли такой маркер безопасности?
        if ($query->num_rows)//раз есть, то надо послать за другим маркером. Такой уже не годиться. 
            die (compactResult('error','bad iv marker,pls generate new iv'));
        //запоминаем такой маркер безопасности, и больше под ним не пускаем.
        //получаем id автоинкремент
        $myBase = $mysqlBase->query("SHOW TABLE STATUS FROM $mysqlBaseName") or die (compactResult('error','SystemTable not get (')); ;
        $result = false;
        //поиск времени изменения БД.
        $dateSrv = (int)( $date->getTimestamp() / 1000 );
        while($row = $myBase->fetch_assoc()){
          if ($row['Name'] !== "ivs" )
    	continue;
          $ivsId = $row["Auto_increment"];
        }
    
        $userIP = getUserIpAddr();
        $mysqlBase->query("INSERT INTO ivs(val,IP) VALUES('$iv','$userIP')") or die(compactResult('error','криворукий программист!'));
    
        //составляем строку из даты, которая у нас будет ключем. 1 раз в 5 минут она становиться другой.
        $decodeKey = /*формирование строки от даты*/
        $dateLast = $date->add( DateInterval::createFromDateString(' 5 minuts ' ) );
        $decodeKeyLast = /*формирование строки от даты*/
        //var_dump($decodeKey);
        $decodeKey = md5($decodeKey);
        $decodeKeyLast = md5 ( $decodeKeyLast );
        
        mcrypt_generic_init ($crypt,$decodeKey,$iv);
        mcrypt_generic_init ($cryptLast,$decodeKeyLast,$iv);
        //декриптуем
        $encDataLoginAndPass = rtrim (mdecrypt_generic($crypt,$signed));
        $encDataLoginAndPassLast = rtrim (mdecrypt_generic($cryptLast,$signed));
        //если правильный был и ключ(время не истекло) и 
        //var_dump($encDataLoginAndPass);
        $encDataLoginAndPass = json_decode ($encDataLoginAndPass,true)  or ( ($decodeKey = $decodeKeyLast ) and json_decode ($encDataLoginAndPassLast,true) )or die(compactResult('error','Key time out.'));
        //в поле secdata в POST будет лежать массив, декодированный
        mcrypt_generic_init ($crypt,$decodeKey,$iv);
    
        $temp = array_keys($encDataLoginAndPass);
        $encData = array('login'=>$temp[0], 'password'=>end($encDataLoginAndPass));
        $encPost = mdecrypt_generic($crypt, base64_decode( $_POST['secdata'] ) );
        $encData['post'] = json_decode (rtrim($encPost)) or die(compactResult('error','post uncompressed!'));
        //деинит
        mcrypt_generic_deinit ($crypt);
        //раз все прошло успешо, возвращаем массив с логином и паролем, который проверяем дальше. Тут даже использование вместо пароля, его хеша не поможет от хака. будем надеятся на алгоритм шифровки. Хотя есть взять, и знать что тут будет одинаковая информация, то вычислить её по паре перехваченных обращений не составит труда. Надо бы переделать на хеш от логина с паролем. Хотя и это врядли поможет. Надо взять что-то изменяемое. От чего можно будет отталкиваться. Но это надо обдумывать.
        return $encData;
    };

    попытка шифрования в 1-м проекте.
    Человек первый раз писал на php. Оно и видно...

    Dart_Sergius, 17 Апреля 2014

    Комментарии (30)
  5. JavaScript / Говнокод #15725

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    var setIdToGridElements = function (gridId, gridConfig, idPrefix) {
    			var gridEl = Ext.get(gridId);
    			if (!gridEl) {
    				return;
    			}
    			var nodes = gridEl.dom.childNodes; // это массив всех элементов грида
    			var el;
    			for (var i = 0; i < nodes.length; i++) {
    				el = Ext.get(nodes[i].id);
    				if (el) {
    					var elements = el.dom.childNodes[i];
    					if (elements) {
    						var rowParameters = elements.children;				// это массив всех елементов строки
    						for (var j = 0; j < rowParameters.length; j++) {
    							var parameterEl = rowParameters[j].childNodes;
    							var newId = gridEl.id + '-' + gridConfig[0][j].key[1].name.bindTo + '-' + i;
    							parameterEl[1].className = "gridValue";
    							for (var k = 0; k < parameterEl.length; k++) {
    								parameterEl[k].id = newId + '-' + parameterEl[k].className;
    							}
    						}
    					}
    				}
    				// Выбираем все строки - элементы грида с ненулевым Id
    
    			}
    		};

    Авторские комментарии сохранены. Понимаю, что надо править и боюсь

    alex123098, 11 Апреля 2014

    Комментарии (2)
  6. PHP / Говнокод #15706

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    <?php
    include("blocks/bd.php");
    if (!isset($_SERVER['PHP_AUTH_USER']))
    
    {
            Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
            Header ("HTTP/1.0 401 Unauthorized");
            exit();
    }
    
    else {
            if (!get_magic_quotes_gpc()) {
                    $_SERVER['PHP_AUTH_USER'] = mysql_escape_string($_SERVER['PHP_AUTH_USER']);
                    $_SERVER['PHP_AUTH_PW'] = mysql_escape_string($_SERVER['PHP_AUTH_PW']);
            }
    
            $query = "SELECT pass FROM userlist WHERE user='".$_SERVER['PHP_AUTH_USER']."'";
            $lst = @mysql_query($query);
    
            if (!$lst)
            {
                Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
            Header ("HTTP/1.0 401 Unauthorized");
            exit();
            }
    
            if (mysql_num_rows($lst) == 0)
            {
               Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
               Header ("HTTP/1.0 401 Unauthorized");
               exit();
            }
    
            $pass =  @mysql_fetch_array($lst);
            if ($_SERVER['PHP_AUTH_PW']!= $pass['pass'])
            {
                Header ("WWW-Authenticate: Basic realm=\"Admin Page\"");
               Header ("HTTP/1.0 401 Unauthorized");
               exit();
            }
    
    
    }
    
    
    
    
    ?>

    smith, 08 Апреля 2014

    Комментарии (10)
  7. JavaScript / Говнокод #15663

    +154

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    var setLeadingZero = function(val) {
        if (val.toString().length == 1)
            return '0' + val;
        else
            return val;
    }

    "Но работает же"

    ElectricHeart, 04 Апреля 2014

    Комментарии (67)
  8. PHP / Говнокод #15528

    +154

    1. 1
    2. 2
    $parts = parse_url($url);
            foreach($parts as $key=>$val) $$key = $val;

    extract()? Нет, не слышал..

    DIX315, 19 Марта 2014

    Комментарии (0)
  9. PHP / Говнокод #15526

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    37. 37
    38. 38
    39. 39
    40. 40
    41. 41
    42. 42
    43. 43
    44. 44
    45. 45
    46. 46
    47. 47
    48. 48
    49. 49
    50. 50
    51. 51
    52. 52
    <?
    include "../db.php";
    if (isset($_POST['auth_name'])) {
    $name=mysql_real_escape_string($_POST['auth_name']);
    $pass=mysql_real_escape_string($_POST['auth_pass']);
    $query = "SELECT * FROM skygall_opt  WHERE name='$name' AND pass='$pass'";
    $res = mysql_query($query) or trigger_error(mysql_error().$query);
    if ($row = mysql_fetch_assoc($res)) {
    session_start();
    $_SESSION['user_id'] = $row['id'];
    $_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
    }
    header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']);
    echo "<center><div class=alert>Введенный логин/пароль неверны.</div></center>"; 
    exit;
    }
    if (isset($_REQUEST[session_name()])) session_start();
    if (isset($_SESSION['user_id']) AND $_SESSION['ip'] == $_SERVER['REMOTE_ADDR']) return;
    else {
    
    ?>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <title>SkyGallery Ver 1.0 — Администрирование</title>
    <link href="../st.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="../scripts/form.js"></script>
    <? 
    include "../verh.php"; 
    ?>
    
    <br><br><br><br><form id="form1" name="form1" method="POST" action="">
    <table width="350" align="center" border="0" cellspacing="5">
      <tr>
        <td rowspan="3" valign="top"><img src="pic/Login.png"></td>
        <td>Логин:</td>
        <td><input  class=bginp2 onblur=inputBG(this,0)  onfocus=inputBG(this,1) type="text" name="auth_name"></td>
      </tr>
      <tr>
        <td>Пароль:</td>
        <td><input  class=bginp2 onblur=inputBG(this,0)  onfocus=inputBG(this,1) type="password" name="auth_pass"></td>
      </tr>
      <tr>
        
        <td colspan="2" align="center"><input type="submit" value=" войти "></td>
      </tr>
    </table>
    </form>
    <br><br><br><br>
    <?
    include "../niz.php";
    }
    exit;
    ?>

    Говно

    ledoburit, 19 Марта 2014

    Комментарии (4)
  10. PHP / Говнокод #15523

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    34. 34
    35. 35
    36. 36
    <?php
    for($tb=0;$tb<=10;$tb++){
    switch($tb){
    case 0: $number_table=3; $cros_table=20;
    break;
    case 1:$number_table+=19; $cros_table+=20;
    break;
    case 2:$number_table+=20; $cros_table+=20;
    break;
    case 3:$number_table+=20; $cros_table+=20;
    break;
    case 4:$number_table+=20; $cros_table+=20;
    break;
    case 5:$number_table+=20; $cros_table+=20;
    break;
    case 6:$number_table+=20; $cros_table+=20;
    break;
    case 7:$number_table+=20; $cros_table+=20;
    break;
    case 8:$number_table+=20; $cros_table+=20;
    break;
    case 9:$number_table+=20; $cros_table+=20;
    break;
    case 10:$number_table+=20; $cros_table+=20;
    break;
    }
    
    for($i=$number_table; $i<=$cros_table; $i++){
    $name_detail = $data->sheets[$global_page]['cells'][$i][1];
    $option_detail = $data->sheets[$global_page]['cells'][$i][2];
    $mark_detail = $data->sheets[$global_page]['cells'][$i][3];
    $actions = $data->sheets[$global_page]['cells'][$i][4];
    $work_cost = $data->sheets[$global_page]['cells'][$i][5];
    $detail_cost = $data->sheets[$global_page]['cells'][$i][6];
    if($name_detail==null){break;}
    ?>

    Когда я это узрел я усомнился в адекватности человека...

    masashama, 19 Марта 2014

    Комментарии (2)
  11. JavaScript / Говнокод #15486

    +154

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    var SE = document.getElementsByTagName("a");
    for (var i = 0; i < SE.length; i++)
    {
        if (SE[i].href.indexOf('http://www.govnokod.ru/ratings/comment/') == 0
    	    && SE[i].href.indexOf('on') != -1)
    	{
    		plusIT(SE[i].href);
    		console.log(SE[i].href);
    	}
    }
    
    function plusIT(ID)
    {
    	$.get(
        ID,
        {},
        function(x) {
        });
    }

    gost, 15 Марта 2014

    Комментарии (30)