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

    +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
    35. 35
    36. 36
    37. 37
    $jsxss="onabort,oncanplay,oncanplaythrough,ondurationchange,onemptied,onended,onerror,onloadeddata,onloadedmetadata,onloadstart,onpause,onplay,onplaying,onprogress,onratechange,onseeked,onseeking,onstalled,onsuspend,ontimeupdate,onvolumechange,onwaiting,oncopy,oncut,onpaste,ondrag,ondragend,ondragenter,ondragleave,ondragover,ondragstart,ondrop,onblur,onfocus,onfocusin,onfocusout,onchange,oninput,oninvalid,onreset,onsearch,onselect,onsubmit,onabort,onbeforeunload,onerror,onhashchange,onload,onpageshow,onpagehide,onresize,onscroll,onunload,onkeydown,onkeypress,onkeyup,altKey,ctrlKey,shiftKey,metaKey,key,keyCode,which,charCode,location,onclick,ondblclick,oncontextmenu,onmouseover,onmouseenter,onmouseout,onmouseleave,onmouseup,onmousemove,onwheel,altKey,ctrlKey,shiftKey,metaKey,button,buttons,which,clientX,clientY,detail,relatedTarget,screenX,screenY,deltaX,deltaY,deltaZ,deltaMode,animationstart,animationend,animationiteration,animationName,elapsedTime,propertyName,elapsedTime,transitionend,onerror,onmessage,onopen,ononline,onoffline,onstorage,onshow,ontoggle,onpopstate,ontouchstart,ontouchmove,ontouchend,ontouchcancel,persisted,javascript";
    $jsxss = explode(",",$jsxss);
    foreach($_GET as $k=>$v)
    {
    	if(is_array($v))
    	{
    		foreach($v as $Kk=>$Vv)
    		{
    			$Vv = preg_replace ( "'<script[^>]*?>.*?</script>'si", "", $Vv );
    			$Vv = str_replace($jsxss,"",$Vv);
    			$Vv = str_replace (array("*","\\"), "", $Vv );
    			$Vv = strip_tags($Vv);
    			$Vv = htmlentities($Vv, ENT_QUOTES, "UTF-8");
    			$Vv = htmlspecialchars($Vv, ENT_QUOTES);
    			$_GET[$k][$Kk] = $Vv;
    		}
    	}
    	ELSE
    	{
    		//Сначала удаляем любые скрипты для защиты от xss-атак
    		$v = preg_replace ( "'<script[^>]*?>.*?</script>'si", "", $v );
    		//Вырезаем все известные javascript события для защиты от xss-атак
    		$v = str_replace($jsxss,"",$v);
    		//Удаляем экранирование для защиты от SQL-инъекций
    		$v = str_replace (array("*","\\"), "", $v );
    		//Экранируем специальные символы в строках для использования в выражениях SQL
    		$v = mysql_real_escape_string( $v );
    		//Удаляем другие лишние теги.	
    		$v = strip_tags($v);
    		//Преобразуем все возможные символы в соответствующие HTML-сущности
    		$v = htmlentities($v, ENT_QUOTES, "UTF-8");
    		$v = htmlspecialchars($v, ENT_QUOTES);
    		//Перезаписываем GET массив
    		$_GET[$k] = $v;
    	}
    	
    }

    [colo=blue]https://habr.com/ru/post/470193/[/color]

    Интересно, все эти люди сами до всего этого доходят, или их кто-то этому учит?

    gpyrou_nemyx, 05 Октября 2019

    Комментарии (15)
  2. C++ / Говнокод #25901

    +2

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    // https://habr.com/ru/company/jugru/blog/469465/
    // Инициализация в современном C++ 
    // ...
    //Есть примеры ещё более странного поведения этого синтаксиса:
    
    std::string s(48, 'a'); // "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
    std::string s{48, 'a'}; // "0a"

    > В первой строке создаётся строка из 48 символов «а», а во второй строка «0а». Это происходит потому, что конструктор string принимает на вход initializer_list из символов. 48 является целочисленным значением, поэтому оно преобразуется в символ. В ASCII число 48 — код символа «0». Это очень странно, потому что есть конструктор, принимающий именно такие аргументы, int и char. Но вместо вызова этого конструктора происходит совершенно неочевидное преобразование. В итоге получается код, который чаще всего ведёт себя не так, как мы ожидаем.

    КАК? Как можно было столько хуйни наворотить для такой простой вещи, как инициализация переменной? Чем они вообще думают?

    Не перестаю удивляться долбоебизму крестостандартизаторов

    j123123, 05 Октября 2019

    Комментарии (22)
  3. JavaScript / Говнокод #25900

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <html><body><script>
    
    var d = 1; 
    var i = 0; 
    setInterval(function(){document.title = [";-O c===3", ";-O c===3",":-Oc===3",":-C===3",":-C==3","8-C=3","8-C3","8-C3"][i += d]; i <= 0 || i >= 7 ? d = -d : 0}, 200)
    
    </script></body></html>

    Смайлик сосёт с заглотом. Ничего необычного, листайте дальше.

    cmepmop, 04 Октября 2019

    Комментарии (19)
  4. Си / Говнокод #25899

    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
    #include <ncurses.h>
    
    #if defined(_WIN32) || defined(_WIN64) 
        #include <windows.h>
        #define msleep(msec) Sleep(msec)
    #else
        #include <unistd.h>
        #define msleep(msec) usleep(msec*1000)
    #endif
    
    int main()
    {
        initscr();
    
        char str[100];
        addstr("Enter string: ");
        getstr(str); //Считваем строку
        curs_set(0); //"Убиваем" курсор, чтобы не мешался
        while ( true )
        {
        //Перемещаем х-координату как можно дальше вправо, и будем уменьшать её, пока она != 0
            for ( unsigned x = getmaxx(stdscr); x; x-- ) 
            {
                clear();
                mvaddstr(getmaxy(stdscr) / 2, x, str);
                refresh();
                msleep(200);
            }
        }
    
        endwin();
        return 0;
    }

    https://code-live.ru/post/ncurses-input-output/#getstr-
    Сколько хуйни вы можете найти в этом примере?

    j123123, 04 Октября 2019

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

    +1

    1. 1
    2. 2
    3. 3
    size_t 	nChLen = it_ch_end - it_ch;
    
    до меня дошло не сразу.

    OlegUP, 03 Октября 2019

    Комментарии (18)
  6. Куча / Говнокод #25897

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    Вот это да! Идеально, Вы можете отправлять
    Результат :
    10/10
    
    Официальный тред операции «Говно на вентилятор»

    Запилил почту, теперь надо:
    1) Придумать тему и текст (https://i.imgur.com/2zNp5ke.jpg);
    2) Организовать ПО для рассылки;
    3) Запустить и разослать;
    4) ?????
    5) Говно!

    gost, 03 Октября 2019

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

    0

    1. 1
    2. 2
    3. 3
    onItemClicked(item: any) {
      this.onItemClick.emit({ item: item.item });
    }

    Ехал айтем через айтем
    Видит айтем, айтем кликд
    Сунул айтем айтем в айтем
    Зис он айтем клик эмит

    Zetway, 03 Октября 2019

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    ((ax + b)mod p) mod m
    
    Какое вообще у этой хеш-функции название?
    
    Я нашел только "Семейство универсальных хеш-функций"

    OlegUP, 02 Октября 2019

    Комментарии (4)
  9. Куча / Говнокод #25893

    0

    1. 1
    2. 2
    3. 3
    https://habr.com/ru/post/318876/
    Ублюдок украл код, который я когда-то здесь запостил и выдал за свой. Ай, как некрасиво!..
    И это на сайте, где блять ценят "уникальный контент".

    Между прочим, этот код взят из потрохов JVCL, но в посте нет ни слова об этом.
    Таким образом, этот лошара ещё и насрал на MPL.

    cmepmop, 01 Октября 2019

    Комментарии (25)
  10. Pascal / Говнокод #25892

    +1

    1. 1
    https://pastebin.com/8c6KxabR

    Бон аппетит, блядь.

    cmepmop, 01 Октября 2019

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