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

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

    +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
    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
    $_FILTER_MODULE = array(
    "A","a","B","b","C","c","D","d","E","e",
    "F","f","G","g","H","h","I","i","J","j",
    "K","k","L","l","M","m","N","n","O","o",
    "P","p","Q","q","R","r","S","s","T","t",
    "U","u","V","v","W","w","X","x","Y","y",
    "Z","z","-");
    
    $_FILTER_ACTION = array(
    "A","a","B","b","C","c","D","d","E","e",
    "F","f","G","g","H","h","I","i","J","j",
    "K","k","L","l","M","m","N","n","O","o",
    "P","p","Q","q","R","r","S","s","T","t",
    "U","u","V","v","W","w","X","x","Y","y",
    "Z","z","-");
    
    define("CHARS_LOGIN", "0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя-");
    define("CHARS_PASS", "0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz");
    define("CHARS_FNAME", "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя-");
    define("CHARS_LNAME", "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZzАаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя-");
    define("CHARS_EMAIL", "0123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz@-_.");
    $_FILTER_ID = array("0","1","2","3","4","5","6","7","8","9");
    $_FILTER_INT = array("0","1","2","3","4","5","6","7","8","9");
    
    function Filter($Str, $Filter) {
    	$NewStr = NULL;
    	$k = 0;
    	for($i = 0; $i<strlen($Str); $i++) {
    		for($n = 0; $n<sizeof($Filter); $n++) {
    			if($Str{$i} == $Filter[$n]) {
    				$NewStr[$k] = $Str[$i];
    				$k++;
    			}
    		}
    	}
    	return (string) @implode($NewStr);
    }
    
    function is_valid($value, $chars, $min_len, $max_len) {
    	$value_len = mb_strlen($value);
    	$chars_len = mb_strlen($chars);
    	$char_valid = false;
    	if($value_len > $max_len || $value_len < $min_len) {
    		return false;
    	}
    	for($i = 0; $i < $value_len; $i++) {
    		$char_valid = false;
    		for($k = 0; $k < $chars_len; $k++) {
    			if($value{$i} == $chars{$k}) {
    				$char_valid = true;
    			}
    		}
    		if($char_valid == false) {
    			return false;
    		}
    	}
    	return true;
    }

    Моё, октябрь 2009 =)

    Devzirom, 26 Января 2011

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

    +165

    1. 1
    $ext = substr($fileName, strrpos($fileName, '.') + 1);

    Про pathinfo никто и не слышал видимо. Код написан недавно кем-то из команды)

    anycolor, 18 Января 2011

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

    +165

    1. 1
    2. 2
    3. 3
    if(strpos($email,'@')===FALSE)die('error');
    if(strpos($email,'.')===FALSE)die('error');
    if(strlen($email)<7)die('error');

    Четкая проверка почты. Регулярки зря придумывали :)

    assous, 13 Января 2011

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    function trim(str) {
    	str = str.replace(/^\s\s*/, '');
    	let ws = /\s/;
    	let i = str.length;
    	while (ws.test(str.charAt(--i)));
    	return str.slice(0, i + 1);
    }

    Очень суровый товарищ.

    Посмотреть: https://addons.mozilla.org/ru/firefox/files/browse/106116 (bootstrap.js)
    Если вдруг будет откорректировано, вот нужная версия: https://addons.mozilla.org/ru/firefox/addon/264089/versions/0.3.7.3

    P.S. let: https://developer.mozilla.org/en/JavaScript/Reference/Statements/let

    ReallyBugMeNot, 09 Января 2011

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

    +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
    $query = mysql_query("SELECT * FROM `accounts` WHERE `login` = '".@$_COOKIE['sc2tACC']."' LIMIT 1");
    if ($query and @isset($_COOKIE['sc2tACC']) AND mysql_num_rows($query)) {
    	$auth = mysql_fetch_array($query);
    	if($auth['password'] == $_COOKIE['sc2tPASS'] and @isset($_COOKIE['sc2tPASS'])) {
    		$AS = "OK";
    		if($_SERVER['PHP_SELF'] != "/chat.php" and $auth['status'] != 1) {
    			mysql_query("UPDATE `accounts` SET `timestamp` = '".microtime(1)."', `ip` = '".$_SERVER['REMOTE_ADDR']."', `lastpage` = '".$_SERVER['REQUEST_URI']."'  WHERE `id` = '".$auth['id']."' LIMIT 1;");
    		}
    	} else {
    		$loginError = "Неверный пароль";
    	}
    } else {
    	$loginError = "Неверный логин";
    }

    ne0n, 09 Января 2011

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

    +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
    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
    for ($i = $bstart; $i < $bend; $i++) 
    {
    	// ГЛАВНАЯ BASE НЕТУ
    	
    	if (empty($_REQUEST['base']) && $i == 1) 
    	{
    		$pagin .= '<strong><font color=#980101>' . $i . '</font></strong>&nbsp;&nbsp;';
    	}
    	if (empty($_REQUEST['base']) && $i != 1) 
    	{	
    		$b_start = (ARTICLE_VIEW * $i) - ARTICLE_VIEW;
    		$query_news = $sn . record_lanuage($page) . $ot . $b_start . ", " . ARTICLE_VIEW;
    		$res = mysql_query($query_news) or die(error($query_news));		
    		
    		if ($db->nr($res))
    		{
    			$pagin .= '<a href="http://' . $config['server_name'] . '/article.php?page=' . $_REQUEST['page'] . '&base=' . $i . $base_mmt . '">' . $i . '</a>&nbsp;&nbsp;';
    		}
    		else
    		{
    			$pagin .= '<font>' . $i . '</font>&nbsp;&nbsp;';
    		}
    		if ($i == $bend - 1 && $db->nr($res) != 0)
    		{
    			$pagin .= '<a href="http://' . $config['server_name'] . '/article.php?page=' . $_REQUEST['page'] . '&base=' . ($i + 1) . $base_mmt . '">&gt;</a>';
    		}
    	}
    	
    	// ГЛАВНАЯ BASE ЕСТЬ
    	
    	if (!empty($_REQUEST['base']) && $i < $_REQUEST['base']) 
    	{	
    		$pagin .= '<a href="http://' . $config['server_name'] . '/article.php?page=' . $_REQUEST['page'] . '&base=' . $i . $base_mmt . '">' . $i . '</a>&nbsp;&nbsp;';
    	}
    	if (!empty($_REQUEST['base']) && $i >= $_REQUEST['base']) 
    	{			
    		$b_start = (ARTICLE_VIEW * $i) - ARTICLE_VIEW;
    		$query_news = $sn . $q . $ot . $b_start . ", " . ARTICLE_VIEW;
    		
    		$res = mysql_query($query_news) or trigger_error($sql);
    		
    		if ($_REQUEST['base'] == $i) 
    		{
    			$pagin .= '<strong><font color=#980101>' . $i . '</font></strong>&nbsp;&nbsp;';
    		}
    		if ($_REQUEST['base'] < $i) 
    		{
    			if ($db->nr($res) != 0) 
    			{
    				$pagin .= '<a href="http://' . $config['server_name'] . '/article.php?page=' . $_REQUEST['page'] . '&base=' . $i . $base_mmt . '">' . $i . '</a>&nbsp;&nbsp;';
    			}
    			else
    			{
    				$pagin .= '<font>' . $i . '</font>&nbsp;&nbsp;';
    			}
    		}
    		if ($db->nr($res) != 0 && substr($i, strlen($i) - 1) == 0)
    		{
    			$pagin .= '<a href="http://' . $config['server_name'] . '/article.php?page=' . $_REQUEST['page'] . '&base=' . ($i + 1) . $base_mmt . '">&gt;</a>';
    		}
    	}
    }

    пагинация длиной в 130 строк и даже не функция, выложил только основную EPIC часть, которая существовала в отдельном файле!

    Genka, 19 Декабря 2010

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

    +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
    function passgen( $length )
    {
        if( $_SERVER['REQUEST_METHOD'] == 'POST' )
        {
            $length = (int) $length;   
            $pass = "";
            for( $i = 0; $i < $length; $i ++ ) {
                if( isset( $_POST['uc'] ) ) {
                    $j = mt_rand( 1, 10 );
                        if( $j % 3 )
                            $pass .= chr( mt_rand( 97, 122 ) ) ;
                        else
                            $pass .= chr( mt_rand( 65, 90 ) ) ;
                } else 
                    $pass .= chr( mt_rand( 97, 122 ) ) ;    
            }   
            return $pass;
        }
    }

    Ice, 19 Декабря 2010

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

    +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
    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
    <?php 
    header("Content-Type: text/html; charset=windows-1251");
    defined('_JEXEC') or die('<html>
    <head><title>404 Not Found</title></head>
    <body bgcolor="white">
    <center><h1>404 Not Found</h1></center>
    <hr><center>nginx/0.7.59</center>
    </body>
    </html>');
    $url = $_SERVER['HTTP_HOST'];
    $host = $_SERVER['DOCUMENT_ROOT'];
    
    if(!file_exists($host."/data/conf.php")) die("Система не установленна!");
    
    include $host.'/data/conf.php';
    
     function generate_password($a)  
      {  
        if($a==1){
    	return rand(111111,99999999); }
        else if($a==2){
        $arr = array('a','b','c','d','e','f',  
                     'g','h','i','j','k','l',  
                     'm','n','o','p','r','s',  
                     't','u','v','x','y','z', 
    				 );      $pass = "";  
    	$n = rand(6,10);
        for($i = 0; $i < $n; $i++)  
        {  
          $index = rand(0, count($arr) - 1);  
          $pass .= $arr[$index];  
        }  
        return $pass; }
    	else if($a==3){
        $arr = array('a','b','c','d','e','f',  
                     'g','h','i','j','k','l',  
                     'm','n','o','p','r','s',  
                     't','u','v','x','y','z',  
                     'A','B','C','D','E','F',  
                     'G','H','I','J','K','L',  
                     'M','N','O','P','R','S',  
                     'T','U','V','X','Y','Z', 
    				 );      $pass = "";  
    	$n = rand(6,10);
        for($i = 0; $i < $n; $i++)  
        {        
          $index = rand(0, count($arr) - 1);  
          $pass .= $arr[$index];  
        }  
        return $pass; }
    	else if($a==4){
        $arr = array('a','b','c','d','e','f',  
                     'g','h','i','j','k','l',  
                     'm','n','o','p','r','s',  
                     't','u','v','x','y','z',  
                     'A','B','C','D','E','F',  
                     'G','H','I','J','K','L',  
                     'M','N','O','P','R','S',  
                     'T','U','V','X','Y','Z',  
                     '1','2','3','4','5','6',  
                     '7','8','9','0', 
    				 );     $pass = "";  
    	$n = rand(10,16);
        for($i = 0; $i < $n; $i++)  
        {  
          $index = rand(0, count($arr) - 1);  
          $pass .= $arr[$index];  
        }  
        return $pass;  }
    	else if($a==5){
      $arr = array('a','b','c','d','e','f',  
                     'g','h','i','j','k','l',  
                     'm','n','o','p','r','s',  
                     't','u','v','x','y','z',  
                     'A','B','C','D','E','F',  
                     'G','H','I','J','K','L',  
                     'M','N','O','P','R','S',  
                     'T','U','V','X','Y','Z',  
                     '1','2','3','4','5','6',  
                     '7','8','9','0','.',',',  
                     '(',')','[',']','!','?',  
                     );      $pass = "";  
    	$n = rand(10,16);
        for($i = 0; $i < $n; $i++)  
        {  
          $index = rand(0, count($arr) - 1);  
          $pass .= $arr[$index];  
        }  
        return $pass; }
     
      }   // генератор паролей

    qbasic, 10 Декабря 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function loadtitle($array) { //Функция установки meta-параметров в массив
    	$meta = array(); //Устанавливаем массив
    	$meta['title']=$array['title']; //Присваиваем метаданные
    	$meta['description'] =  $array['description'];				
    	$meta['author'] = $array['author'];				
    	$meta['keywords'] = $array['keywords'];	
    	return $meta; //Возвращаем массив метаданных
    }

    обнаружил в своем проекте 3 летней давности. сижу и тихо офигеваю)

    kindofbear, 28 Ноября 2010

    Комментарии (13)
  11. C++ / Говнокод #4722

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    //Set different text depending on how long on progressbar progress is
    if (dwStepPercent < 25)
        byText=0;
    else if (dwStepPercent < 50)
        byText=1;
    else if (dwStepPercent < 75)
        byText=2;
    else
        byText=3;

    Отличный способ не делить.

    Shumway, 23 Ноября 2010

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