1. Pascal / Говнокод #5653

    +93

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    for i:=1 to 100 do
    begin
    for j:=1 to f do
    begin
    ...
    end;
    f:=f+1000;
    end;

    Бедные дельфины, им не повезло с циклами.

    CHayT, 12 Февраля 2011

    Комментарии (38)
  2. C++ / Говнокод #5652

    +175

    1. 1
    2. 2
    3. 3
    port.put(0x64, 0xEE);
    for(register int r=0;r<0xffff;++r);
    port.get(0x64);

    port - объект для обращения к портам ввода\вывода компьютера.
    for - задержка между обращениями к портам (Оптимизатор С++ её конечно же убирает в релизе программы).

    Говногость, 12 Февраля 2011

    Комментарии (13)
  3. PHP / Говнокод #5651

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    class Dialog_view extends Controller {
    
        var $LutskZakarpatyeId = array('1225', '1233');
        var $respublicaKrim = '1229';
    
    ...
    
    }

    красота.

    shmaltorhbooks, 12 Февраля 2011

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

    +160

    1. 1
    2. 2
    3. 3
    if (RENAME_FILE) {
          $dest_filename = md5(uniqid(rand(), true)) . '.' . $file_ext;
        }

    Рандом, рандом, еще рандом!

    7ion, 12 Февраля 2011

    Комментарии (5)
  5. PHP / Говнокод #5649

    +164

    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
    <?php
    function anti_hacker($txt){
    $txt=str_replace("|","I",$txt); 
    $txt=str_replace("../",",,/",$txt);
    $txt=str_replace("||","I",$txt);               
    $txt=str_replace("\"","",$txt);
    $txt=str_replace("\""," ",$txt);
    $txt=str_replace("/\\\$/","",$txt);
    $txt=str_replace("$","",$txt);          
    $txt=str_replace("\\","",$txt);
    $txt=str_replace("\\","",$txt);
    $txt=str_replace("@","",$txt);
    $txt=str_replace("`","",$txt);  
    $txt=str_replace("^","",$txt);
    $txt=str_replace("%","",$txt);
    $txt=htmlspecialchars($txt);  
    $txt=stripslashes(trim($txt));
    return $txt;}
    
    if(isset($_GET)){foreach($_GET as $key=>$value){$_GET[$key]=anti_hacker($value);}}
    if(isset($_POST)){foreach($_POST as $key=>$value){$_POST[$key]=anti_hacker($value);}}
    if(isset($_SESSION)){foreach($_SESSION as $key=>$value){$_SESSION[$key]=anti_hacker($value);}}
    if(isset($_COOKIE)){foreach($_COOKIE as $key=>$value){$_COOKIE[$key]=anti_hacker($value);}}

    Еще одну, не могу удержаться))) Тормоза - для трусов, array_map() для лохов!

    twin, 12 Февраля 2011

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

    +165

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    <?
    $text = @file("MySql/base123/reg/$log.dat");		
    $udata = explode(":||:", $text[0]);		
    $udata[100] = round($udata[100] + 1);
    $text = $udata[0] .':||:'. $udata[1] .':||:'. $udata[2] .':||:'. $udata[3] .':||:'. $udata[4] .':||:'. $udata[5] .':||:'. $udata[6] .':||:'. $udata[7] .':||:'. $udata[8] .':||:'. $udata[9] .':||:'. $udata[10] .':||:'. $udata[11] .':||:'. $udata[12] .':||:'. $udata[13] .':||:'. $udata[14] .':||:'. $udata[15] .':||:'. $udata[16] .':||:'. $udata[17] .':||:'. $udata[18] .':||:'. $udata[19] .':||:'. $udata[20] .':||:'. $udata[21] .':||:'. $udata[22] .':||:'. $udata[23] .':||:'. $udata[24] .':||:'. $udata[25] .':||:'. $udata[26] .':||:'. $udata[27] .':||:'. $udata[28] .':||:'. $udata[29] .':||:'. $udata[30] .':||:'. $udata[31] .':||:'. $udata[32] .':||:'. $udata[33] .':||:'. $udata[34] .':||:'. $udata[35] .':||:'. $udata[36] .':||:'. $udata[37] .':||:'. $udata[38] .':||:'. $udata[39] .':||:'. $udata[40] .':||:'. $udata[41] .':||:'. $udata[42] .':||:'. $udata[43] .':||:'. $udata[44] .':||:'. $udata[45] .':||:'. $udata[46] .':||:'. $udata[47] .':||:'. $udata[48] .':||:'. $udata[49] .':||:'. $udata[50] .':||:'. $udata[51] .':||:'. $udata[52] .':||:'. $udata[53] .':||:'. $udata[54] .':||:'. $udata[55] .':||:'. $udata[56] .':||:'. $udata[57] .':||:'. $udata[58] .':||:'. $udata[59] .':||:'. $udata[60] .':||:'. $udata[61] .':||:'. $udata[62] .':||:'. $udata[63] .':||:'. $udata[64] .':||:'. $udata[65] .':||:'. $udata[66] .':||:'. $udata[67] .':||:'. $udata[68] .':||:'. $udata[69] .':||:'. $udata[70] .':||:'. $udata[71] .':||:'. $udata[72] .':||:'. $udata[73] .':||:'. $udata[74] .':||:'. $udata[75] .':||:'. $udata[76] .':||:'. $udata[77] .':||:'. $udata[78] .':||:'. $udata[79] .':||:'. $udata[80] .':||:'. $udata[81] .':||:'. $udata[82] .':||:'. $udata[83] .':||:'. $udata[84] .':||:'. $udata[85] .':||:'. $udata[86] .':||:'. $udata[87] .':||:'. $udata[88] .':||:'. $udata[89] .':||:'. $udata[90] .':||:'. $udata[91] .':||:'. $udata[92] .':||:'. $udata[93] .':||:'. $udata[94] .':||:'. $udata[95] .':||:'. $udata[96] .':||:'. $udata[97] .':||:'. $udata[98] .':||:'. $udata[99] .':||:'. $udata[100] .':||:';
            $fp = fopen("MySql/base123/reg/$log.dat", "a+");
            flock($fp, LOCK_EX);
            ftruncate($fp, 0);
            fputs($fp, "$text");
            fflush($fp);
            flock($fp, LOCK_UN);
            fclose($fp);

    Попался скрипт браузерной игры. Автор - Bishop какой то. Это просто залежи позитива. Второй день ржунимагу.

    twin, 12 Февраля 2011

    Комментарии (27)
  7. PHP / Говнокод #5647

    +185

    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
    57. 57
    58. 58
    59. 59
    60. 60
    61. 61
    62. 62
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    91. 91
    92. 92
    93. 93
    94. 94
    95. 95
    96. 96
    97. 97
    98. 98
    99. 99
    <?php 
    
    for ($i=1;$i<=31;$i++) {         // дни
    for ($j=1;$j<=12;$j++) {        // месяцы
    for ($k=70;$k<=99;$k++) {    // годы
    
    $i0=$i; // сохраняем оригинальные значения 
    $j0=$j; // переменных i и j
    
    if ($i=1) { $i="01"; }
    if ($i=2) { $i="02"; }
    if ($i=3) { $i="03"; }
    if ($i=4) { $i="04"; } // конвертируем их значения 
    if ($i=5) { $i="05"; } // в двухзначную форму
    if ($i=6) { $i="06"; }
    if ($i=7) { $i="07"; }
    if ($i=8) { $i="08"; }
    if ($i=9) { $i="09"; }
    
    if ($j=1) { $j="01"; }
    if ($j=2) { $j="02"; }
    if ($j=3) { $j="03"; }
    if ($j=4) { $j="04"; }
    if ($j=5) { $j="05"; }
    if ($j=6) { $j="06"; }
    if ($j=7) { $j="07"; }
    if ($j=8) { $j="08"; }
    if ($j=9) { $j="09"; }
    
    echo("$i$j$k<br>"); // выводим дату: число-месяц-год (год двузначный с 70 по 99)
    
    $i=$i0; // востанавливаем оригинальные 
    $j=$j0; // значения переменных i и j
    
    }}}
    
    for ($i=1;$i<=12;$i++) {
    for ($j=13;$j<=31;$j++) {     // начинаем с 13 чтобы не повторяться в датах
    for ($k=70;$k<=99;$k++) {
    
    $i0=$i;
    $j0=$j;
    
    if ($i=1) { $i="01"; }
    if ($i=2) { $i="02"; }
    if ($i=3) { $i="03"; }
    if ($i=4) { $i="04"; }
    if ($i=5) { $i="05"; }
    if ($i=6) { $i="06"; }
    if ($i=7) { $i="07"; }
    if ($i=8) { $i="08"; }
    if ($i=9) { $i="09"; }
    
    if ($j=1) { $j="01"; }
    if ($j=2) { $j="02"; }
    if ($j=3) { $j="03"; }
    if ($j=4) { $j="04"; }
    if ($j=5) { $j="05"; }
    if ($j=6) { $j="06"; }
    if ($j=7) { $j="07"; }
    if ($j=8) { $j="08"; }
    if ($j=9) { $j="09"; }
    
    echo("$i$j$k<br>"); //  дата: месяц-число-год (год двузначный с 70 по 99)
    
    $i=$i0;
    $j=$j0;
    
    }}}
    
    for ($i=1;$i<=31;$i++) {
    for ($j=1;$j<=12;$j++) {
    for ($k=0;$k<=12;$k++) {
    
    $i0=$i;
    $j0=$j;
    $k0=$k;
    
    if ($i=1) { $i="01"; }
    if ($i=2) { $i="02"; }
    if ($i=3) { $i="03"; }
    if ($i=4) { $i="04"; }
    if ($i=5) { $i="05"; }
    if ($i=6) { $i="06"; }
    if ($i=7) { $i="07"; }
    if ($i=8) { $i="08"; }
    if ($i=9) { $i="09"; }
    
    if ($j=1) { $j="01"; }
    if ($j=2) { $j="02"; }
    if ($j=3) { $j="03"; }
    if ($j=4) { $j="04"; }
    if ($j=5) { $j="05"; }
    if ($j=6) { $j="06"; }
    if ($j=7) { $j="07"; }
    if ($j=8) { $j="08"; }
    if ($j=9) { $j="09"; }
    
    if ($k=0) { $k="00"; }

    http://www.php.ru/forum/viewtopic.php?t=30748

    Devzirom, 12 Февраля 2011

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

    +157

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    //@see http://ru2.php.net/manual/en/function.exif-imagetype.php
    if (!function_exists('exif_imagetype')) {
        function exif_imagetype($filename) {
            if ((list($width, $height, $type, $attr) = getimagesize($filename)) !== false) {
                if ($type > 0) {
                    return $type;
                }
            }
            return false;
        }
    }

    Скопипастил этот код к себе в проект из мануала с php.net для определения типа картинки, т.к на сервере не было экстеншина Exif.
    Много лишних переменных, но в ломак было переписывать, запузырил как есть.

    govnomes, 12 Февраля 2011

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

    +162

    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
    if(strLen($arParams["BLOG_VAR"])<=0)
    	$arParams["BLOG_VAR"] = "blog";
    if(strLen($arParams["PAGE_VAR"])<=0)
    	$arParams["PAGE_VAR"] = "page";
    if(strLen($arParams["USER_VAR"])<=0)
    	$arParams["USER_VAR"] = "id";
    if(strLen($arParams["POST_VAR"])<=0)
    	$arParams["POST_VAR"] = "id";
    	
    $arParams["PATH_TO_BLOG"] = trim($arParams["PATH_TO_BLOG"]);
    if(strlen($arParams["PATH_TO_BLOG"])<=0)
    	$arParams["PATH_TO_BLOG"] = htmlspecialchars($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=blog&".$arParams["BLOG_VAR"]."=#blog#");
    
    $arParams["PATH_TO_BLOG_CATEGORY"] = trim($arParams["PATH_TO_BLOG_CATEGORY"]);
    if(strlen($arParams["PATH_TO_BLOG_CATEGORY"])<=0)
    	$arParams["PATH_TO_BLOG_CATEGORY"] = htmlspecialchars($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=blog&".$arParams["BLOG_VAR"]."=#blog#"."&category=#category_id#");
    	
    $arParams["PATH_TO_POST_EDIT"] = trim($arParams["PATH_TO_POST_EDIT"]);
    if(strlen($arParams["PATH_TO_POST_EDIT"])<=0)
    	$arParams["PATH_TO_POST_EDIT"] = htmlspecialchars($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=post_edit&".$arParams["BLOG_VAR"]."=#blog#&".$arParams["POST_VAR"]."=#post_id#");
    
    $arParams["PATH_TO_USER"] = trim($arParams["PATH_TO_USER"]);
    if(strlen($arParams["PATH_TO_USER"])<=0)
    	$arParams["PATH_TO_USER"] = htmlspecialchars($APPLICATION->GetCurPage()."?".$arParams["PAGE_VAR"]."=user&".$arParams["USER_VAR"]."=#user_id#");

    Из проекта на битрикс, обратите внимание на импровизацию в вариантах написания функции strlen D)))
    Код успешно работает в продакшене более года.

    govnomes, 11 Февраля 2011

    Комментарии (0)
  10. Perl / Говнокод #5644

    −123

    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
    my %tbl;
    $tbl{'koi'}="БВЧЗДЕЦЪЙКЛМНОПРТУФХЖИГЮЫЭШЩЯЬАСбвчздецъйклмнопртуфхжигюыэшщяьас";
    $tbl{'win'}="абвгдежзийклмнопрстуфхцчшщьыъэюяАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯ";
    ...
        if ($filename=~/^http:\/\//) {
            my ($header, $page)=getpage($filename);
            if ($page!~/\S/) {next;}
            if ($header=~/Charset.*koi/i) {
                eval("\$page=~tr/$tbl{'koi'}/$tbl{'win'}/");            
            }
            open(OUT, ">$tmpfile");
            print OUT $page;
            close OUT;
            open(NEWS, "$tmpfile");
        } else {
            open(NEWS, "$config::rubricsroot/$filename") || do {warn "Не могу открыть файл новостей: $!"; next;};
        }

    #5624 спровоцировал. Хотел запостить только перекодировку, но не смог удержаться, тут перлы в комплексе.
    1) Свой велосипед для получения странички по http через IO::Socket (это отдельная большая песня, может спою потом).
    2) Перекодировка из koi8r в cp1251, если нужно. Обратите внимание на элегантный eval.
    3) Подстановка результата для дальнейшей построчной обработки через временный файл.

    И не говорите мне о том, какой плохой язык PHP.

    gegMOPO4, 11 Февраля 2011

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