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

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

    +157

    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
    <?php
    function clear($field){
        $field = htmlspecialchars($field);
        $field = str_replace("\"","", $field);
        $field = str_replace("'","\'",$field);
     
        return $field;
    }
      if(isset($_POST['name'])){
       $name = clear($_POST['name']);
        echo $name;
      }
    ?>
    <form method="post">
     <p>you name:<br>
     <input name="name" type="text" value="">
     </p>
     <input type="submit" value="Send">
    </form>

    Прафисианналы "PHP" пишут защиту от XSS.
    Отсюда: http://mzcoding.com/php_articles/xss__csrf__ataki_i_zashhita_ot_nikh/11/

    gost, 29 Декабря 2014

    Комментарии (17)
  3. Куча / Говнокод #17300

    +131

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    next_int() ->
      receive {next_int, N} -> 
        self() ! {next_int, N + 1}, 
        N
      after 0 ->
        self() ! {next_int, 0}, 
        0
      end.
    
    ...
    [{A, next_int()}|| A <- SomeList]

    Простейший способ пронумеровать элементы списка эрланге. Найдено в продакшне, ошибки сохранены.

    lesmugfrog, 12 Декабря 2014

    Комментарии (17)
  4. 1C / Говнокод #17254

    −125

    1. 1
    2. 2
    Движение = Движения.Добавить();
    Движение.СчетДт = ПланыСчетов.Хозрасчетный.НайтиПоКоду(Счет.Код);

    facepeeler, 04 Декабря 2014

    Комментарии (17)
  5. C# / Говнокод #17209

    +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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    class Book
        {
            public void BookName(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("NameFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
    
            public void BookAuthor(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("AuthorFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
    
            public void BookDescription(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("DescriptionFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
    
            public void BookTags(ref string file, ref int Index)
            {
                string[] ReadFile = File.ReadAllLines("TagFile.txt", Encoding.Default);
                file = ReadFile[Index];
            }
        }

    LightningAtom, 28 Ноября 2014

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

    +135

    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
    public void SelectStep(int stepNumber)
    {
        //1.HTTPCore
        //2.find cat
        //3find p.cat
        //4.find products
        //5.parse products info
        //6.save
        //7.complete
        if (stepNumber != 1) ((Label)(this.panel.Controls.Cast<Control>()
            .First(c => c.TabIndex == stepNumber - 1))).ForeColor = Color.Black;
        ((Label)(this.panel.Controls.Cast<Control>()
            .First(c => c.TabIndex == stepNumber))).ForeColor = Color.Red;
        if (stepNumber == 6)
        {
            labelStatusSecondLine.ForeColor = Color.Black;
            labelStatusFirstLine.Text = "Готово."; buttonStart.Enabled = buttonRefreshCats.Enabled = true; timer.Stop();
        }
        if (stepNumber == 7)
        {
            labelStatusSecondLine.Text = "Обновление категорий...";
        }
    }

    Досталось в наследство. Слегка переписано мной (ранее у всех лейблов были имена вроде "label1" – к лейблам аффтар обращался по распарсенным оттуда цифрам).

    pushistayapodmyshka, 20 Ноября 2014

    Комментарии (17)
  7. Perl / Говнокод #16965

    −161

    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
    sub check_license {
        my ($license) = @_;
    
        my $is_valid = 0;
        if (-f $license) {
            open(my $fh, '<', $license);
            my $content = do { local $/ = undef; <$fh> };
            close($fh);
            $content =~ s/\r\n/\n/g;
    
            $is_valid = $content =~ /^-{5}BEGIN LICENSE-{5}$/m;
            $is_valid = $content =~ /^-{5}END LICENSE-{5}$/m;
        }
    
        return $is_valid;
    }

    Ну ок.

    Elvenfighter, 29 Октября 2014

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

    +158

    1. 1
    2. 2
    3. 3
    $element['yandex'] = 14;
    unset($element['yandex']);
    $element['yandex'] = 60;

    Разраб упоролся в каштан :)

    sautchenkov, 28 Октября 2014

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

    +153

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    if(count($colors)>1){
        if($i==2){
            $col = $colors[1];
        }else{
            $col = $colors[0];
        }
    }else{
        $col=$colors[0];
    }

    Вот где не надо - тьма тернарных операторов, а где их логичнее всего ожидать - вот такой огород из IF/ELSE

    Khvorostin, 13 Октября 2014

    Комментарии (17)
  10. JavaScript / Говнокод #16682

    +158

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    $(document).ready(function() {
            var links = $("a[href*='shop.mts.ru']");
            $.each(links, function(i, val) {
                $(val).attr('onclick', "_gaq.push(['_link', '" + $(val).attr('href') + "']); return false;");
            });
            //for ThreeSmallBanners adfox:
            $('a.offer_button').removeAttr('onclick');
        });

    mts.ru

    gost, 11 Сентября 2014

    Комментарии (17)
  11. 1C / Говнокод #16597

    −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
    Функция ПолучитьЧистыйКод(Код) Экспорт
            //ЧистыйКод = "0";
    	ЧистыйКод = "";
    	Инд = 1;
    	Пока Инд < 18 Цикл
    		Символ = Сред(Код, Инд, 1);
    		Если Символ = " " ИЛИ Символ = "" ИЛИ Символ = " " Тогда   // А вот это - самая фееричная строка 
    			Инд = Инд + 1;
    			Продолжить;
    		Иначе 
    			ЧистыйКод = ЧистыйКод + Символ;
    		КонецЕсли;
    		Инд = Инд + 1;
    	КонецЦикла;
    	Возврат ЧистыйКод;
    КонецФункции

    Чел видимо только что с ассемблера соскочил.

    Jeyrico, 26 Августа 2014

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