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

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

    +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
    $param="";
    if (isset($_REQUEST['NO'])) {
    	$param="?NO=".$_REQUEST['NO'];
    }
    if (isset($_REQUEST['no'])) {
    	$param="?NO=".$_REQUEST['no'];
    }
    if (isset($_REQUEST['No'])) {
    	$param="?NO=".$_REQUEST['No'];
    }
    if (isset($_REQUEST['nO'])) {
    	$param="?NO=".$_REQUEST['nO'];
    }

    Сначала я думал что пьяный индус скопировал и четыре раза вставил кусок кода а потом присмотрелся и ахуел, аж здесь зарегистрировался.

    zhigalin, 29 Июня 2018

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

    −1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    Небольшой опрос.
    Вы пароли от своих фаек
    - помните наизусть
    - записываете на листочке или в JSON
    - делаете одинаковый пароль от всех фаек
    - создаетё одноразовые файки и не помните пароль 
    - другое

    CrashTesteAnusov, 23 Июня 2018

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    > We demonstrate key extraction even from an implementation of Curve25519 Elliptic Curve Diffie-Hellman, which was explicitly designed 
    to minimize side channel leakage, but becomes susceptible due to use of high-level JavaScript
    
    > Concretely, we have embedded the attack code in an advertisement, which we submitted to a commercial web advertisement service

    Тут свежую атаку из жабаскрипта подвезли, они там опять ебут процессорный кэш и угадывают поведение control flow и составляющие ключа по времени доступа к памяти
    https://eprint.iacr.org/2018/119

    Fike, 01 Февраля 2018

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

    +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
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    Запрос = Новый Запрос;
    Запрос.Текст = 
    	"ВЫБРАТЬ
    	|	ркЛицевыеСчета.Ссылка,
    	|	ркЛицевыеСчета.Помещение,
    	|	ркЛицевыеСчета.Дом КАК Дом,
    	|	ркЛицевыеСчета.Код КАК Код,
    	|	ркЛицевыеСчета.Помещение.Владелец Как ПомещениеВладелец
    	|ИЗ
    	|	Справочник.ркЛицевыеСчета КАК ркЛицевыеСчета";
    
    РезультатЗапроса = Запрос.Выполнить();
    
    ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
    
    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    	Об = Справочники.ркЛицевыеСчета.НайтиПоКоду(ВыборкаДетальныеЗаписи.Код);
    	О = Об.ПолучитьОбъект();
    	Д = Справочники.ркДома.НайтиПоНаименованию(ВыборкаДетальныеЗаписи.ПомещениеВладелец);
    	ДО = Д.ПолучитьОбъект();
    	Если Не О.ЭтоГруппа Тогда
    	О.Дом = ДО.Ссылка;
    	О.Записать();
    	КонецЕсли;
    	//ВыборкаДетальныеЗаписи
    КонецЦикла;

    Обработка в базе одного клиента.
    Не сразу понял что она вообще делает и зачем она ТАК ЭТО ДЕЛАЕТ.

    naodesu, 18 Декабря 2017

    Комментарии (16)
  6. JavaScript / Говнокод #23542

    0

    1. 1
    2. 2
    if(services_type == 3) var checked = 1;
    else var checked = 0;

    fellownik, 16 Ноября 2017

    Комментарии (16)
  7. C# / Говнокод #23471

    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
    internal class Log
    	{
    		public static void WriteLine(string methodName, UpdateFile file, Exception e, LogType type = LogType.Success)
    		{
    			using (FileStream fileStream = new FileStream(Path.GetDirectoryName(Assembly.GetEntryAssembly().Location) + "\\patch.log", FileMode.OpenOrCreate))
    			{
    				using (StreamReader streamReader = new StreamReader(fileStream))
    				{
    					using (StreamWriter streamWriter = new StreamWriter(fileStream))
    					{
    						streamWriter.WriteLine(string.Format("Launcher | {0} | {1} | {2} | {3} | {4}", new object[]
    						{
    							type,
    							methodName,
    							file.FullPath,
    							e,
    							DateTime.Now
    						}), streamReader.ReadToEnd().Length);
    					}
    				}
    			}
    		}
    
    ...

    Как получить размер файла? Правильно, надо прочитать его в память и взять размер данных из памяти :facepalm:
    Зачем получать размер файла, даже не спрашивайте ))

    Источник: hxxp://promo.riseofrunes.com/InstLauncher.zip (C#, декомпилятор).

    luxtau, 31 Октября 2017

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

    +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
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    function getadminuserid(){
    	global $wpdb;
        //Get all users in the DB
        $wp_user_search = $wpdb->get_results("SELECT ID, display_name FROM $wpdb->users ORDER BY ID");
    
        //Blank array
        $adminArray = array();
        //Loop through all users
        foreach ( $wp_user_search as $userid ) {
            //Current user ID we are looping through
            $curID = $userid->ID;
            //Grab the user info of current ID
            $curuser = get_userdata($curID);
            //Current user level
            $user_level = $curuser->user_level;
            //Only look for admins
            if($user_level >= 8){//levels 8, 9 and 10 are admin
                //Push user ID into array
                $adminArray[] = $curID;
            }
        }
        return $adminArray;
    }

    1) Get IDs for all users
    2) Iterate over result set to find admin `get_userdata` function = 1 DB call

    outcome:
    1) full RAM
    2) dead DB

    ===
    official woocommerce plugin by company

    tatocaster, 27 Октября 2017

    Комментарии (16)
  9. Python / Говнокод #23456

    +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
    while (1):
        for iterator in range(len(posts)):
            # Для прозрачности вычислений
            time_post_a = datetime.now()
            time_post_a = int(time.mktime(time_post_a.timetuple()))
    
            time_post_b = posts[iterator]['time']
            time_post_b = int(time.mktime(time_post_b.timetuple()))
    
            # Выполнить действие, в случае, если "время пришло" по массиву posts
            if ((time_post_a - time_post_b) == 0):
                print ('Итератор: ' + str(iterator) + ', Новая публикация: ' + str(posts[iterator]['time']))
                time.sleep(1) # Если его убрать, то начинаются дикие пляски
                break

    Планировщик постов

    meridium, 26 Октября 2017

    Комментарии (16)
  10. Си / Говнокод #23421

    +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
    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
    #include <stdio.h>
    #include <unistd.h>
    #include <stdlib.h>
    //код компилируйте clang-ом, иначе не закомпилится
    int main(int argc, char *argv[])
    {
    	if(argc != 2) {
    		printf("Укажите способ (1,2)\n");
    		_exit(1);
    	}
    	int способ = atoi(argv[1]);
    	int ch;
    	switch(способ)
    	{
    		case 1:
    		{
    			while( (ch=getchar()) != EOF ) {
    				printf("%i", ch);
    			}
    			break;
    		}
    		case 2:
    		{
    			int twoch;
    			char arr[2];
    			int new;
    			while( (ch=getchar()) != EOF ) {
    				twoch = getchar();
    				if(twoch == EOF) break;
    				sprintf(arr, "%c%c", (char)ch, (char)twoch);
    				new = atoi(arr);
    				printf("%c", new); //попытка не пытка
    			}
    			break;
    		}
    		default:
    			printf("Неизвестный способ\n");
    	}
    	return 0;
    }

    без слов

    KoderOT-Boga, 17 Октября 2017

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

    +4

    1. 1
    2. 2
    3. 3
    if (preg_match('/'.preg_quote($subString).'/', $string)) {
        ...
    }

    Проверка, есть ли подстрока в строке.
    Вроде, как минимум несколько лет человек в программировании на PHP.
    Показывает опытность тем, что экранирует спецсимволы в регулярном выражении.
    А можно было использовать простейшую функцию strpos().

    zlsoft, 22 Сентября 2017

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