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

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

    +174.7

    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
    <?php  
    $user = $HTTP_POST_VARS["user"];                            
    $pas=$HTTP_POST_VARS["pas"]; 
    $user= substr($user, 0, 20); 
    $user = htmlspecialchars(trim($user));
    $pas= substr($pas, 0, 20); 
    $pas = htmlspecialchars(trim($pas));
    
    $z=substr_count($user,"'");
    if($z>0) { echo "Поля содержат заприщённые символы <iframe src=ping.php></iframe>"; }
    
    $z=substr_count($pas,"'");
    if($z>0) { echo "Поля содержат заприщённые символы <iframe src=ping.php></iframe>"; }
    
    $z=substr_count($user,"\\");
    if($z>0) { echo "Поля содержат заприщённые символы <iframe src=ping.php></iframe>"; } 
    
    $z=substr_count($user,"/");
    if($z>0) { echo "Поля содержат заприщённые символы <iframe src=ping.php></iframe>"; }
    
    $z=substr_count($pas,"//");
    if($z>0) { echo "Поля содержат заприщённые символы <iframe src=ping.php></iframe>"; }
    
    $z=substr_count($pas,"\\");
    if($z>0) { echo "Поля содержат заприщённые символы <iframe src=ping.php></iframe>"; }
    
    $z=substr_count($pas,"/");
    if($z>0) { echo "Поля содержат заприщённые символы <iframe src=ping.php></iframe>"; }
    
    
    if($user=="admin") {
         if($pas=="admin") {
           setCookie("pas","admin");
           setCookie("user","admin"); 
           echo "Авторизация прошла успешно! <br> Привет 4eef! <br> <a href=adm.php>Перейти в модер панель сечас?</a>";
         }
         }
    else
    if($user=="WebKill") {
         if($pas=="admin") {
           setCookie("pas","admin"); 
           setCookie("user","Webkill");
           echo "Авторизация прошла успешно! <br> Привет WebKill! <br> <a href=adm.php>Перейти в модер панель сечас?</a>";
         }
         if($pas!="admin") {
           echo "Неверная пара логин\пароль<BR><iframe src=ping.php></iframe><iframe src=ping.php></iframe><iframe src=ping.php></iframe>";
         } 
    }
    else {
        echo "Неверная пара логин\пароль<BR><iframe src=ping.php></iframe><iframe src=ping.php></iframe><iframe src=ping.php></iframe>";
    }    
    ?>

    Еще пример из WebKill. Вход в админку гостевухи. Китайская школа живет и процветает.

    mrbig66, 25 Января 2010

    Комментарии (77)
  3. Си / Говнокод #27760

    0

    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
    /* https://github.com/v7unix/v7unix/blob/ed636a47207476db76d53b7869447889dee3bbad/v7/usr/src/cmd/sh/mac.h */
    
    #
    /*
     *	UNIX shell
     *
     *	S. R. Bourne
     *	Bell Telephone Laboratories
     *
     */
    
    #define LOCAL	static
    #define PROC	extern
    #define TYPE	typedef
    #define STRUCT	TYPE struct
    #define UNION	TYPE union
    #define REG	register
    
    #define IF	if(
    #define THEN	){
    #define ELSE	} else {
    #define ELIF	} else if (
    #define FI	;}
    
    #define BEGIN	{
    #define END	}
    #define SWITCH	switch(
    #define IN	){
    #define ENDSW	}
    #define FOR	for(
    #define WHILE	while(
    #define DO	){
    #define OD	;}
    #define REP	do{
    #define PER	}while(
    #define DONE	);
    #define LOOP	for(;;){
    #define POOL	}
    
    
    #define SKIP	;
    #define DIV	/
    #define REM	%
    #define NEQ	^
    #define ANDF	&&
    #define ORF	||
    
    #define TRUE	(-1)
    #define FALSE	0
    #define LOBYTE	0377
    #define STRIP	0177
    #define QUOTE	0200
    
    #define EOF	0
    #define NL	'\n'
    #define SP	' '
    #define LQ	'`'
    #define RQ	'\''
    #define MINUS	'-'
    #define COLON	':'
    
    #define MAX(a,b)	((a)>(b)?(a):(b))

    j123123, 20 Октября 2021

    Комментарии (76)
  4. Python / Говнокод #27415

    +2

    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
    class Contacts(models.Model):
        GENDER_CHOICES = (('Male', 'male'), ('Female', 'female')) 
        # Мужик должен служить в армии и пахать в поле или на заводе, а баба - варить борщи и рожать детей...
        
        slug = models.SlugField(max_length=250, default='', blank=True)
        FirstName = models.CharField(max_length=50, blank=True, null=True)
        LastName = models.CharField(max_length=50, blank=True, null=True)
        MiddleName = models.CharField(max_length=50, blank=True, null=True)
        Photo = models.ImageField(upload_to='images/contacts/', blank=True, null=True)
        Sex = models.CharField(max_length=50, choices=GENDER_CHOICES, default='Male', blank=True, null=True)
        Birthday = models.DateField(blank=True, null=True)
        BirthdayDay = models.CharField(blank=True, null=True, max_length=2, validators=[validators.validate_date_day])
        BirthdayMonth = models.CharField(blank=True, null=True, max_length=2, validators=[validators.validate_date_month])
        BirthdayYear = models.CharField(blank=True, null=True, max_length=4)
        
        ContactPhone = models.CharField(max_length=50, blank=True, null=True, validators=[validators.validate_phone])
        ContactPhoneCode = models.ForeignKey('PhoneNumberCode', on_delete=models.SET_NULL, related_name='ContactPhoneCode', blank=True, null=True)
        ContactPhoneNumber = models.CharField(max_length=50, blank=True, null=True, validators=[validators.validate_phone_number])
        ContactPhoneLocal = models.BooleanField(default=False)
        
        WorkPhone = models.CharField(max_length=50, blank=True, null=True, validators=[validators.validate_phone])
        WorkPhoneCode = models.ForeignKey('PhoneNumberCode', on_delete=models.SET_NULL, related_name='WorkPhoneCode', blank=True, null=True)
        WorkPhoneNumber = models.CharField(max_length=50, blank=True, null=True, validators=[validators.validate_phone_number])
        WorkPhoneLocal = models.BooleanField(default=False)
        
        MobilePhone = models.CharField(max_length=50, blank=True, null=True, validators=[validators.validate_phone])
        MobilePhoneCode = models.ForeignKey('PhoneNumberCode', on_delete=models.SET_NULL, related_name='MobilePhoneCode', blank=True, null=True)
        MobilePhoneNumber = models.CharField(max_length=50, blank=True, null=True, validators=[validators.validate_phone_number])
        MobilePhoneLocal = models.BooleanField(default=False)
        
        WorkMobilePhone = models.CharField(max_length=50, blank=True, null=True, validators=[validators.validate_phone])
        WorkMobilePhoneCode = models.ForeignKey('PhoneNumberCode', on_delete=models.SET_NULL, related_name='WorkMobilePhoneCode', blank=True, null=True)
        WorkMobilePhoneNumber = models.CharField(max_length=50, blank=True, null=True, validators=[validators.validate_phone_number])
        WorkMobilePhoneLocal = models.BooleanField(default=False)

    По Birthday была дана задача: "а сделай так, чтобы можно было выбирать не только полную дату, но и только день/только месяц/только год". А вот каким боком потребовалось выделять в отдельные поля составляющие телефонных номеров, даже для меня до сих пор загадка. Возможно, из той же оперы: "нужно, чтобы можно было вводить неполный номер". Как бы там ни было, можно было сделать отдельный custom field (в Джанго тем более для этого есть API - https://docs.djangoproject.com/en/3.2/howto/custom-model-fields/ ) или хотя бы сделать поле CharField-ом и уже в самой модели его парсить как надо (а перед перевыкладкой задампить данные и перегнать их в другой формат). Но нет, надо было нагородить еще полей под каждое место где встречалась дата. П..дец, какой же я макакой был...

    JaneBurt, 10 Мая 2021

    Комментарии (76)
  5. Куча / Говнокод #27112

    0

    1. 1
    bp kernelbase!VirtualAlloc " .printf \"\n\n\n\nBytes allocated: %lu (k)\n\n\n\",(@rdx/0n1024); k 8"

    Давайте течь от windbg

    MAPTbIwKA, 13 Ноября 2020

    Комментарии (76)
  6. Си / Говнокод #26975

    +4

    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
    static int parse_num(const char *s, size_t *out) {
        if (s == NULL || *s == '\0')
            return -1;
    
        char *end = 0;
        errno = 0;
        uint64_t num = strtoull(s, &end, 0);
        if (errno != 0)
            return -1;
    
        if (*end != '\0')
            return -1;
    
        if (num > SIZE_MAX)
            return -1;
    
        *out = (size_t)num;
        return 0;
    }

    Какие же всё-таки удобные функции в стандартной няшколибе.

    bormand, 24 Сентября 2020

    Комментарии (76)
  7. Java / Говнокод #26969

    0

    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
    public static UUID fromString(String name) {
            String[] components = name.split("-");
            if (components.length != 5)
                throw new IllegalArgumentException("Invalid UUID string: "+name);
            for (int i=0; i<5; i++)
                components[i] = "0x"+components[i];
    
            long mostSigBits = Long.decode(components[0]).longValue();
            mostSigBits <<= 16;
            mostSigBits |= Long.decode(components[1]).longValue();
            mostSigBits <<= 16;
            mostSigBits |= Long.decode(components[2]).longValue();
    
            long leastSigBits = Long.decode(components[3]).longValue();
            leastSigBits <<= 48;
            leastSigBits |= Long.decode(components[4]).longValue();
    
            return new UUID(mostSigBits, leastSigBits);
        }

    без префикса "0x" написать рабочий код было невозможно, очевидно
    это хоть починили

    https://github.com/openjdk/jdk/blob/jdk8-b120/jdk/src/share/classes/java/util/UUID.java#L191-L209

    Fike, 22 Сентября 2020

    Комментарии (76)
  8. Куча / Говнокод #26960

    +6

    1. 1
    Сракер, не удаляй, пожалуйста, наши оффтопы.

    Pig, 17 Сентября 2020

    Комментарии (76)
  9. JavaScript / Говнокод #26815

    −1

    1. 1
    2. 2
    3. 3
    <script>
    if
    </script>

    Гавнокод

    LorenzoTwin, 24 Июля 2020

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

    +5

    1. 1
    https://github.com/ASDAlexander77/TypeScript2Cxx/blob/master/cpplib/core.h

    Нужна помощь смелых и умных людей, надо сделать review кода и посоветовать что там по стандартам улучшить... короче любая помощь welcome

    https://github.com/ASDAlexander77/TypeScript2Cxx/blob/master/cpplib/core.h

    ASD_77, 27 Мая 2020

    Комментарии (76)
  11. Kotlin / Говнокод #26408

    0

    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
    data class User(
    
        @Expose
        @SerializedName("email")
        val email: String? = null,
    
        @Expose
        @SerializedName("username")
        val username: String? = null,
    
        @Expose
        @SerializedName("image")
        val image: String? = null
    ) {
        override fun toString(): String {
            return "User(email=$email, username=$username, image=$image)"
        }
    }

    JetBrains сделали прекрасный стандартный toString у дата классов, а они всё равно пишут свой туСтринг, который выдаёт результат в точности повторяющий стандартный.

    https://github.com/mitchtabian/MVIExample/blob/master/app/src/main/java/com/codingwithmitch/mviexample/model/User.kt

    Gorr, 03 Февраля 2020

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