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

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

    +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
    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
    63. 63
    64. 64
    65. 65
    66. 66
    67. 67
    68. 68
    69. 69
    70. 70
    71. 71
    72. 72
    73. 73
    74. 74
    75. 75
    76. 76
    77. 77
    78. 78
    79. 79
    80. 80
    81. 81
    82. 82
    83. 83
    84. 84
    85. 85
    86. 86
    87. 87
    88. 88
    89. 89
    90. 90
    ЗапросБезСЛ = Новый Запрос;
    	ЗапросБезСЛ.Текст = "ВЫБРАТЬ
    	|	КарточкаСделкиТовары.Ссылка.Ссылка КАК СсылкаКС
    	|ИЗ
    	|	Документ.КарточкаСделки.Товары КАК КарточкаСделкиТовары
    	|ГДЕ
    	|	КарточкаСделкиТовары.Ссылка.Завершена = ЛОЖЬ
    	|	И КарточкаСделкиТовары.Ссылка.ПометкаУдаления = ЛОЖЬ
    	|	И (КарточкаСделкиТовары.СтатусСтроки = &СтатусСтрокиПлан
    	|			ИЛИ КарточкаСделкиТовары.СтатусСтроки = &СтатусСтрокиПланХочуВЗаказано
    	|			ИЛИ КарточкаСделкиТовары.Ссылка.Клиент = &Электросистем
    	|				И КарточкаСделкиТовары.СтатусСтроки <> &СтатусСтрокиЗавершено)
    	|	И КарточкаСделкиТовары.КонтрактнаяДата < НАЧАЛОПЕРИОДА(&ТекДата, ДЕНЬ)
    	|	И КарточкаСделкиТовары.Ссылка.Подразделение В ИЕРАРХИИ(&ДРП)
    	|	И КарточкаСделкиТовары.Ссылка.ДляПланаПроизводства = ЛОЖЬ
    	|	И КарточкаСделкиТовары.Ссылка.Дата > &ПрошлыйГод
    	|	И КарточкаСделкиТовары.Ссылка.Статус <> ЗНАЧЕНИЕ(Справочник.СтатусыКарточекСделки.Завершена)
    	//|	И КарточкаСделкиТовары.Ссылка.Номер = ""180010002""
    	|
    	|СГРУППИРОВАТЬ ПО
    	|	КарточкаСделкиТовары.Ссылка.Ссылка
    	|
    	|УПОРЯДОЧИТЬ ПО
    	|	КарточкаСделкиТовары.Ссылка.Дата УБЫВ";
    	ЗапросБезСЛ.УстановитьПараметр("СтатусСтрокиПлан", Справочники.СтатусыСтрокКарточкиСделки.Запланировано);
    	ЗапросБезСЛ.УстановитьПараметр("СтатусСтрокиПланХочуВЗаказано", Справочники.СтатусыСтрокКарточкиСделки.Заказано);
    	ЗапросБезСЛ.УстановитьПараметр("ТекДата", ТекущаяДата());
    	ЗапросБезСЛ.УстановитьПараметр("ДРП",Справочники.ФункциональныеОтделыПродаж.НайтиПоКоду("d16"));
    	ЗапросБезСЛ.УстановитьПараметр("Электросистем", Справочники.Контрагенты.НайтиПоКоду("140755"));
    	ЗапросБезСЛ.УстановитьПараметр("СтатусСтрокиЗавершено", Справочники.СтатусыСтрокКарточкиСделки.Завершено);
    	ЗапросБезСЛ.УстановитьПараметр("ПрошлыйГод", НачалоГода(НачалоГода(ТекущаяДата())-3 * 86400)); 	
    	
    	Выборка = ЗапросБезСЛ.Выполнить().Выбрать();
    	
    	сПользователь = Справочники.Пользователи.НайтиПоКоду("17 644").Руководитель;
    	НоваяКонтрДата = ОбщиеПроцедурыИФункции.ОпределитьДатуЗавершения(сПользователь,  ТекущаяДата(), 3600*8*1); 
    	
    	Пока Выборка.Следующий() Цикл
    		
    		КС = Выборка.СсылкаКС.ПолучитьОбъект();		
    		НеобходимоЗаписать = Ложь; 
    		
    		Если ЗначениеЗаполнено(Выборка.СсылкаКС.КодSL) Тогда
    			Для каждого Изделие из КС.Товары Цикл
    				
    				СтатусСтроки = ПолучитьСтатусСтрокиВSL(Выборка.СсылкаКС.КодSL,Изделие.НомерСтроки,Выборка.СсылкаКС.Склад);					
    				
    				Если СтатусСтроки <> Неопределено И СтатусСтроки <> "F" //выполн.
    					и  СтатусСтроки <> "C" //завершено
    					Тогда
    					
    					Если  Изделие.КонтрактнаяДата  < НачалоДня(ТекущаяДата()) Тогда
    						Если (Изделие.СтатусСтроки = Справочники.СтатусыСтрокКарточкиСделки.Запланировано 
    							или Изделие.СтатусСтроки = Справочники.СтатусыСтрокКарточкиСделки.Заказано) ИЛИ (Изделие.СтатусСтроки <> Справочники.СтатусыСтрокКарточкиСделки.Завершено И Выборка.СсылкаКС.Клиент = Справочники.Контрагенты.НайтиПоКоду("140755")) Тогда 
    							Изделие.КонтрактнаяДата = НоваяКонтрДата;
    							НеобходимоЗаписать = Истина;
    						КонецЕсли;
    					КонецЕсли;
    				КонецЕсли; 
    			КонецЦикла;	
    			
    			Если НеобходимоЗаписать Тогда
    				КС.Записать();
    				Документы.КарточкаСделки.ОбновитьПараметрыКарточкиСделкиВSL(КС);
    				rs = Неопределено;
    			КонецЕсли;
    			
    		Иначе
    			Для каждого Изделие из КС.Товары Цикл
    				
    				Если  Изделие.КонтрактнаяДата  < НачалоДня(ТекущаяДата()) Тогда
    					Если (Изделие.СтатусСтроки = Справочники.СтатусыСтрокКарточкиСделки.Запланировано 
    						или Изделие.СтатусСтроки = Справочники.СтатусыСтрокКарточкиСделки.Заказано) ИЛИ (Изделие.СтатусСтроки <> Справочники.СтатусыСтрокКарточкиСделки.Завершено И Выборка.СсылкаКС.Клиент = Справочники.Контрагенты.НайтиПоКоду("140755")) Тогда 
    						Изделие.КонтрактнаяДата = НоваяКонтрДата;
    						НеобходимоЗаписать = Истина;
    					КонецЕсли;
    				КонецЕсли;
    				
    			КонецЦикла; 
    			
    			Если НеобходимоЗаписать Тогда
    				КС.Записать(); 
    				
    				rs = Неопределено;  
    				
    			КонецЕсли;
    			
    		КонецЕсли; 	
    		
    	КонецЦикла;

    testtest69, 16 Апреля 2022

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

    +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
    41. 41
    42. 42
    43. 43
    public class Spot {
        private Piece piece;
        private int x;
        private int y;
      
        public Spot(int x, int y, Piece piece)
        {
            this.setPiece(piece);
            this.setX(x);
            this.setY(y);
        }
      
    
        public Piece getPiece() // метод возвращает объект фигуру
        {
            return this.piece;
        }
      
        public void setPiece(Piece p)
        {
            this.piece = p;
        }
      
        public int getX()
        {
            return this.x;
        }
      
        public void setX(int x)
        {
            this.x = x;
        }
      
        public int getY()
        {
            return this.y;
        }
      
        public void setY(int y)
        {
            this.y = y;
        }
    }

    Дизайн шахматной игры
    Эти виды вопросов задаются на интервью, чтобы судить о навыке объектно ориентированного дизайна кандидата. Итак, прежде всего, мы должны подумать о классах.
    https://habr.com/ru/post/660003/

    ISO, 10 Апреля 2022

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

    +1

    1. 1
    Ёбаный openconnect

    openconnect -- это свободная реализация протоколоа CISCO AnyConnect VPN.

    В первом комменте опишу проблему.

    vistefan, 06 Апреля 2022

    Комментарии (64)
  5. Go / Говнокод #28110

    +1

    1. 1
    2. 2
    math.Min(float64, float64) float64
    math.Max(float64, float64) float64

    В goвне нету math.Min для integer. Даже в анскильном "Си" это есть.

    https://www.pixelstech.net/article/1559993656-Why-no-max-min-function-for-integer-in-GoLang

    3_dar, 05 Апреля 2022

    Комментарии (39)
  6. Java / Говнокод #28107

    +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
    import org.springframework.core.Ordered;
       import org.springframework.core.annotation.Order;
       import org.springframework.web.bind.WebDataBinder;
       import org.springframework.web.bind.annotation.ControllerAdvice;
       import org.springframework.web.bind.annotation.InitBinder;
    
       @ControllerAdvice
       @Order(10000)
       public class BinderControllerAdvice {
          @InitBinder
          public void setAllowedFields(WebDataBinder dataBinder) {
    
              String[] denylist = new String[]{"class.", "Class.", ".class.", ".Class."};
    
              dataBinder.setDisallowedFields(denylist);
          }
       }

    Критическая 0-day уязвимость в Spring Framework, применяемом во многих Java-проектах

    Работа эксплоита сводится к отправке запроса с параметрами "class.module.classLoader.resources.cont ext.parent.pipeline.first.*", обработка которых при использовании "WebappClassLoaderBase" приводит к обращению к классу AccessLogValve. Указанный класс позволяет настроить логгер для создания произвольного jsp-файла в корневом окружении Apache Tomcat и записи в этот файл указанного атакующим кода. Созданный файл становится доступным для прямых запросов и может использоваться в качестве web shell. Для атаки на уязвимое приложение в окружении Apache Tomcat достаточно отправить запрос с определёнными параметрами при помощи утилиты curl.

    curl -v -d "class.module.classLoader.resources.context.parent.pipeline
    .first.pattern=код_для_вставки_в_файл
    &class.module.classLoader.resources.context.parent.pipeline.first.suffix=.jsp
    &class.module.classLoader.resources.context.parent.pipeline.first.directory=webapps/ROOT
    &class.module.classLoader.resources.context.parent.pipeline.first.prefix=tomcatwar
    &class.module.classLoader.resources.context.parent.pipeline.first.fileDateFormat="
    http://localhost:8080/springmvc5-helloworld-exmaple-0.0.1-SNAPSHOT/rapid7

    3_dar, 04 Апреля 2022

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

    +1

    1. 1
    Из-за вашей политоты Борманд ушёл.

    OCETuHCKuu_nemyx, 03 Апреля 2022

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

    +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
    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
    63. 63
    64. 64
    <?php defined('SYSPATH') or die('No direct script access.');
    /*
     * Базовый класс главной страницы
     */
    class Controller_Index extends Controller {
    
    
            public function before() {
                    parent::before();
                    I18n::lang('ru');
                    $settings = Kohana::config('settings');
                    Cookie::$salt = 'asd12d2';
                    Session::$default = 'cookie';
                    $this->session = Session::instance();
            }
    
        public function action_index() {
    
            //Путь до файла первоночального xml (xsl)
            $path_xml='tpl/xml.xsl';
            //Путь конечного xsl
            $path_xsl='tpl/index.xsl';
    
            $url = $this->request->param('stuff');
                    //print_r($_SERVER);
                    /*if($_SERVER ['REQUEST_URI']=='/'){
                            $this->request->redirect($_SERVER ['HTTP_X_FORWARDED_PROTO'].'://'.$_SERVER['HTTP_HOST'],'301');
                    }*/
            if(empty($url)){
                $url='/';
            }
    
    
            $htmlfile='cache-html/'.md5($url);
    $allurl=$_SERVER ['REQUEST_URI'];
    if($allurl=='/20-40-kvm') $this->request->redirect('/sadovye-domiki','301');
    if($allurl=='/40-80-kvm') $this->request->redirect('/sadovye-domiki','301');
    if($allurl=='/80-i-bolee-kvm') $this->request->redirect('/sadovye-domiki','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=0&destination%5B%5D=1&destination%5B%5D=2&technology%5B%5D=0&floors%5B%5D=1&floors%5B%5D=1.5&floors%5B%5D=2&price=0-3000000&area=0-400') $this->request->redirect('/sadovye-domiki','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=1&technology%5B%5D=0&technology%5B%5D=1&technology%5B%5D=2&floors%5B%5D=1&floors%5B%5D=1.5&floors%5B%5D=2&price=0-3000000&area=81-400') $this->request->redirect('/80-i-bolee-kvm','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=1&technology%5B%5D=0&technology%5B%5D=1&technology%5B%5D=2&floors%5B%5D=1&floors%5B%5D=1.5&floors%5B%5D=2&price=0-3000000&area=40-80') $this->request->redirect('/40-80-kvm','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=0&technology%5B%5D=0&technology%5B%5D=1&technology%5B%5D=2&floors%5B%5D=1&floors%5B%5D=1.5&floors%5B%5D=2&price=0-3000000&area=0-400') $this->request->redirect('/stroitelstvo-dachnyh-domov','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=2&technology%5B%5D=0&technology%5B%5D=1&technology%5B%5D=2&technology%5B%5D=3&floors%5B%5D=1&floors%5B%5D=1.5&floors%5B%5D=2&price=0-3000000&area=0-400') $this->request->redirect('/kottedzhi','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=3&technology%5B%5D=0&technology%5B%5D=2&technology%5B%5D=3&floors%5B%5D=1&floors%5B%5D=1.5&price=0-3000000&area=0-400') $this->request->redirect('/bani','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=3&technology%5B%5D=2&floors%5B%5D=1&floors%5B%5D=1.5&price=0-3000000&area=0-400') $this->request->redirect('/bani-iz-profilirovannogo-brusa','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=3&technology%5B%5D=0&floors%5B%5D=1&floors%5B%5D=1.5&price=0-3000000&area=0-400') $this->request->redirect('/karkasnye-bani','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=3&technology%5B%5D=3&floors%5B%5D=1&floors%5B%5D=1.5&floors%5B%5D=2&price=0-3000000&area=0-400') $this->request->redirect('/bani-iz-ocilindrovannogo-brevna','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=0&destination%5B%5D=1&destination%5B%5D=2&technology%5B%5D=2&floors%5B%5D=1&floors%5B%5D=1.5&floors%5B%5D=2&price=316018-3000000&area=0-400') $this->request->redirect('/brus','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=0&destination%5B%5D=1&destination%5B%5D=2&technology%5B%5D=2&floors%5B%5D=1&floors%5B%5D=1.5&floors%5B%5D=2&price=0-3000000&area=0-400') $this->request->redirect('/kottedzhi-profilirovannyj-brus','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=0&destination%5B%5D=1&destination%5B%5D=2&technology%5B%5D=0&floors%5B%5D=1&floors%5B%5D=1.5&floors%5B%5D=2&price=329056-3000000&area=0-400') $this->request->redirect('/dachnye-doma-karkasnaya-tehnologiya','301');
    
    if($allurl=='/nashi-proecty?searcher=48291&section=3924&destination%5B%5D=0&destination%5B%5D=1&destination%5B%5D=2&technology%5B%5D=1&floors%5B%5D=1&floors%5B%5D=1.5&floors%5B%5D=2&price=0-3000000&area=0-400') $this->request->redirect('/individualnye-proekty','301');

    Там ещё дальше веселье продолжается, но гк не дает запостить больше

    YpaHeLI_, 02 Апреля 2022

    Комментарии (22)
  9. Pascal / Говнокод #28100

    +1

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function rand:LongInt;
    {$IFOPT J-} {$J+} {$DEFINE NoJ} {$ENDIF}
    const next:LongInt=1;
    {$IFDEF NoJ} {$J-} {$UNDEF NoJ} {$ENDIF}
    begin
    next:=next*1103515245+12345;
    Result:=(next div 65536) mod 32768;
    end;

    Краткая инструкция как сделать static unsigned long int на Delphi.

    KOTOM, 31 Марта 2022

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

    +1

    1. 1
    Петух иньо забыл продлить домен

    inho-pidar, 25 Марта 2022

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

    +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
    mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
    $mysql = new mysqli($host, $db_user, $db_pass, $db_name);
    mysqli_set_charset($mysql, "utf8");
    
    
    $region = mysqli_query($mysql, "SELECT *  FROM `rubric_subsection`");
    while ($rows_rubriki = mysqli_fetch_array($region)) 
    {
    	
    //	$razdel = mysqli_query($mysql, "SELECT *  FROM `city_region` LIMIT 1");
    	//while ($raz = mysqli_fetch_array($razdel)) {
    	
    $rubriki = mysqli_query($mysql, "SELECT `region`, `subsection`, COUNT(region) as count FROM `big_baza` where `region` =  'Республика Бурятия' AND `subsection` = '".$rows_rubriki['name']."'");
    $data = mysqli_fetch_assoc($rubriki);
    echo ''.$rows_rubriki['name'].' / '.$data['count'].'<br>';
    //mysqli_query($mysql,  "INSERT INTO `calculator_region`(`id`, `region_id`, `subsection_id`, `count`) VALUES ('','".$raz['id']."','".$rows_rubriki['id']."','".$data['count']."')");
    
    //	}
    
    }

    dlyaspama7771, 16 Марта 2022

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