1. PHP / Говнокод #2659

    +176.8

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    if(empty($username) || $username){
      // ...
       if($id == $row['id'] || $row['id'] == $id || ($row['id'] == $id && $id == $row['id'])){
          // ...
       }
    }

    Было дело года два назад...
    Форма авторизации, как я мог написать такой бред? =)

    Zver, 24 Февраля 2010

    Комментарии (13)
  2. Java / Говнокод #2658

    +77.1

    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
    public static boolean isValidUser(String user)
    	{
    		if(user == null) return true;
    		int len = user.length();
    		if (len > 255) return false;
    		char c;
    		for(int i=0; i<len; i++)
    		{
    			c = user.charAt(i);
    			if (c <= ' ') return false;
    			if (c == ':') return false;
    			if (c == '@') return false;
    			if (c == '"') return false;
    			if (c == '>') return false;
    			if (c == '<') return false;
    			if (c == '/') return false;
    			if (c == '\'') return false;
    			if (c == '&') return false;
    			if (c == '\u077F') return false;
    			if (c == '\u0FFE') return false;
    			if (c == '\u0FFF') return false;
    		}
    		return true;
    	}

    проверка имени пользователя на плохие символые в Jeti

    danilissimus, 24 Февраля 2010

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

    +45.6

    1. 1
    return (hWnd) ? (bool)ShowWindow(hWnd, (state) ? SW_NORMAL : SW_HIDE) : false;

    Я долго пытался понять, что я имел ввиду.

    Altravert, 24 Февраля 2010

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

    +160.7

    1. 1
    $_date	= date("Y-m-d", mktime("0", "0", "0", date("m"), date("d")-2, date("Y")));

    нашел в сорсе одного из наших сайтов

    polizei, 24 Февраля 2010

    Комментарии (28)
  5. Java / Говнокод #2655

    +75.8

    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
    package core;
    
    public class Cryptor {
        /**
         * Encodes the String.
         * @param s Source string.
         * @param p Password.
         * @return String
         */
        public static String encode(String s, String p) {
            byte[] str = s.getBytes();
            int h = summ(p);
    
            for(int i = 0; i < str.length; i++) {
                str[i] = (byte) (str[i] ^ h ^ i);
            }
    
            return new String(str,0,str.length);
        }
    
        /**
         * Decodes the String.
         * @param s Source string.
         * @param p Password.
         * @return String
         */
        public static String decode(String s, String p) {
            return encode(s, p);
        }
    
        /**
         * Calculater the hash summ of password.
         * @param p Password.
         */
        public static int summ(String p) {
            int r = -1;
            byte[] str = p.getBytes();
            for(int i = 0; i < str.length; i++) r+=str[i]+i;
            return r;
        }
    }

    danilissimus, 24 Февраля 2010

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

    +59

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    QByteArray icqMessage::convertToByteArray(const quint8 &d)
    {
    	QByteArray packet;
    	packet[0] = d;
    	return packet;
    }

    Обнаружено в сорцах qutim'а. Про memcpy разработчики, видимо, не слышали, также, как и про метод append() в классе QByteArray.
    А еще не совсем понятно, зачем функции для конвертирования байт-эррэев в цифры и обратно объявлены и реализованы В КАЖДОМ файле, где используются. Про #include файла, в котором один раз можно реализовать все функции, разработчики, наверное, тоже слышали мельком.

    RankoR, 23 Февраля 2010

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

    +173.5

    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
    toSmallFont = function ( e )
    {
    c = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]; n = c.length;
    r = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
    while (n--) e = e.replace(c[n], r[n]);
    return e;
    }
    
    toBigFont = function ( i )
    {
    c = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"]; n = c.length;
    r = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"];
    while (n--) i = i.replace(c[n], r[n]);
    return i;
    }

    fuckyounoob, 23 Февраля 2010

    Комментарии (3)
  8. Java / Говнокод #2652

    +88

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    protected void parseSummaryLines()
            {
                   ...
    
                   // NOTE: First letters are ommited in order to support capitalized words as well
                   final String RESULT_GOOD_TEXT_1 = "othing";    // Nothing
                   final String RESULT_GOOD_TEXT_2 = "uccessful"; // Successful
                   final String RESULT_BAD_TEXT_1 = "assword";    // Password
                   final String RESULT_BAD_TEXT_2 = "failed";     // Failed
    
                   ...
            }

    Сегодня в пласте нашего Java-кода геологи нашли такой вот самородок.

    asolntsev, 22 Февраля 2010

    Комментарии (10)
  9. C++ / Говнокод #2651

    +65.5

    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
    BOOL needToCenter = NO;
    float touchedDistance = [self getTouchedDistance];
    
    if(movedFromX < movedToX)
    {
    	if(!isIncreased)
    	{
    		needToCenter = YES;
    	}
    }
    else
    {
    	if(!isIncreased)
    	{
    		needToCenter = YES;
    	}
    }

    ohoncharuk, 22 Февраля 2010

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

    +164.8

    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
    <?
    
    function gpc_inspector_no_magic($param, $value)
    {	
    	if(substr($param, 0, 4) == 'int_')
    		return intval($value);
    	else
    		{
    			$value = addslashes($value);
    			$value = htmlspecialchars($value, ENT_QUOTES);
    			return $value;
    		}
    }
    
    function gpc_inspector_magic($param, $value)
    {	
    	if(substr($param, 0, 4) == 'int_')
    		return intval($value);
    	else
    		{
    			$value = htmlspecialchars($value, ENT_QUOTES);
    			return $value;
    		}
    }
    
    function gpc_inspector_start(&$super_global)
    {
    	$request_params = array_keys($super_global);
    	$request_values = array_values($super_global);
    	if(get_magic_quotes_gpc())
    		$super_global = array_map('gpc_inspector_magic', $request_params, $request_values);
    	else
    		$super_global = array_map('gpc_inspector_no_magic', $request_params, $request_values);	
    }
    
    gpc_inspector_start($_GET);
    gpc_inspector_start($_POST);
    gpc_inspector_start($_COOKIE);
    
    ?>

    Автор активно борится с кул хацкерами...%)

    funny_rabbit, 21 Февраля 2010

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