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

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

    +3

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    ###############################
    ##### Проверяем сылку гет #####
    ###############################
    foreach ($_GET as $links) {
    if (!is_string($links) || !preg_match('#^(?:[a-z0-9_\-/]+|\.+(?!/))*$#i', $links)) {
    header ('Location: '.$HOME.'');
    exit;
    } 
    } 
    unset($links);

    Защита с strongcms v.1.1 . Офф сайт strongcms.ru
    ---
    P.s. продам такую же защиту на $_POST данные ))

    eskrano, 05 Июля 2016

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

    +3

    1. 1
    2. 2
    3. 3
    4. 4
    if (Expires != 0 && Expires.ToString() != "9223372036854775807")
    {
            ...
    }

    Expires типа long

    Pointerjkeee, 05 Июля 2016

    Комментарии (4)
  4. PHP / Говнокод #20322

    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
    header.php
    
     <?$APPLICATION->IncludeComponent(
                    "lenal:lenal.menu",
                    "mobile",
                    array(
                        "VIEW_MODE" => "LINE",
                        "SHOW_PARENT_NAME" => "Y",
                        "IBLOCK_TYPE" => "catalog",
                        "IBLOCK_ID" => "39",
                        "SECTION_ID" => $_REQUEST["SECTION_ID"],
                        "SECTION_CODE" => "",
    
    ..................................................
    
    
    component.php
    
    if(!isset($arParams["CACHE_TIME"]))
    	$arParams["CACHE_TIME"] = 36000000;
    
    if($this->StartResultCache(false, ($arParams["CACHE_GROUPS"]==="N"? false: $USER->GetGroups())))
    {
    	/*
    	 * Lenal вы гребаные идиоты, у вас в параметрах стоит  "SECTION_ID" => $_REQUEST["SECTION_ID"] и
    	 * единственным условием у вас сброса кеша ("CACHE_TIME" => "36000000"!!!!!! бля)
    	 * ВОТ ЭТО?! Отсутствие модуля iblock ?!? 
    	 * Чтоб вы всю жизнь на жевачку работали, придурки!
    	 * 
    	 * 100 000 файлов кеша на ОДНО МЕНЮ ОДНОГО САЙТА! 
    	 * 
    	 * Дегенераты.
    	 * 
    	 */ 
    	if(!\Bitrix\Main\Loader::includeModule("iblock"))
    	{
    		$this->AbortResultCache();
    		ShowError(GetMessage("IBLOCK_MODULE_NOT_INSTALLED"));
    		return;
    	}
    /*********************

    Компонент меню на публичной части от компании Lenal (платформа 1С-Битрикс)

    lscin, 04 Июля 2016

    Комментарии (4)
  5. Java / Говнокод #20317

    +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
    public void notificationSuccess(String operation) {
            Logger.getLogger(this.getClass().getName()).log(Level.INFO, "Operation " + operation + " success");
            FacesMessage msg = null;
            msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Notification", "Success");
            FacesContext.getCurrentInstance().addMessage(null, msg);
        }
    
        public void notificationError(Exception e, String operation) {
            Logger.getLogger(this.getClass().getName()).log(Level.ERROR, "Operation " + operation + " Error ", e);
            FacesMessage msg = null;
            msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Notification", "Error");
            FacesContext.getCurrentInstance().addMessage(null, msg);
    }

    А не созавать ли мне новый экземпляр логгера при каждом уведомлении...

    proselyte, 03 Июля 2016

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

    +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
    27. 27
    28. 28
    29. 29
    30. 30
    31. 31
    32. 32
    33. 33
    <xsl:choose>
    	<xsl:when test="name = 'Палатка ALEXIKA RONDO 3 Plus'">
    	<h2>Палатки ALEXIKA – идеальный вариант для активного отдыха</h2></xsl:when>
    	<xsl:otherwise>
    	<xsl:choose>
    		<xsl:when test="name = 'Мешок спальный ALEXIKA SIBERIA Plus(правый)'">
    		<h2>Предпочитаете отдых в палатках? Купите спальный мешок ALEXIKA SIBERIA PLUS</h2></xsl:when>
    		<xsl:otherwise>
    		<xsl:choose>
    			<xsl:when test="name = ''"></xsl:when>
    			<xsl:otherwise>
    			<xsl:choose>
    				<xsl:when test="name = ''"></xsl:when>
    				<xsl:otherwise>
    				<xsl:choose>
    					<xsl:when test="name = ''"></xsl:when>
    					<xsl:otherwise>
    					<xsl:choose>
    						<xsl:when test="name = ''"></xsl:when>
    						<xsl:otherwise>
    						Полное описание товара "<xsl:value-of disable-output-escaping="yes" select="name"/>"
    						</xsl:otherwise>
    					</xsl:choose>
    					</xsl:otherwise>
    				</xsl:choose>
    				</xsl:otherwise>
    			</xsl:choose>
    			</xsl:otherwise>
    		</xsl:choose>
    		</xsl:otherwise>
    	</xsl:choose>
    	</xsl:otherwise>
    </xsl:choose>

    эмм... просто было лень

    arny, 28 Июня 2016

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

    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
    switch (count)
        {
        case 1:
            cout << okonch1 << endl;
            if (okonch1 == okonchanie1)
            {
                cout << slovo_okonch1_1 << endl;
            }
            else
            {
                if (okonch1 == okonchanie2)
                {
                    cout << slovo_okonch2_1 << endl;;
                }
                else
                {
                    if (okonch1 == okonchanie3)
                    {
                        cout << slovo_okonch3_1 << endl;;
                    }
                    else
                    {
                        if (okonch1 == okonchanie4)
                        {
                            cout << slovo_okonch4_1 << endl;
                        }
                        else
                        {
                            if (okonch1 == okonchanie5)
                            {
                                cout << slovo_okonch5_1 << endl;
                            }
                            else
                            {
                                if (okonch1 == okonchanie6)
                                {
                                    cout << slovo_okonch6_1 << endl;
                                }
                                else
                                {
                                    if (okonch1 == okonchanie7)
                                    {
                                        cout << slovo_okonch7_1 << endl;
                                    }
                                    else
                                    {
                                        if (okonch1 == okonchanie8)
                                        {
                                            cout << slovo_okonch8_1 << endl;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

    Создана куча переменных okonch*_* и по ним происходит switch
    Что самое смешное(или ужасное?) - этого кода на 500 строк...

    Rmkek, 27 Июня 2016

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

    0

    1. 1
    2. 2
    3. 3
    4. 4
    $fname=rand(0,10000)."_".$fname;
    while (is_file($upload_path.$fname)) {
        $fname=rand(0,10000)."_".$filename;
    }

    Если вдруг пользователь загрузил файл с одним и тем же именем, то надо ему приделать префикс. НО! Вдруг такой префикс уже был сгенерирован, ГПСЧ, тервер же! Сразу видно автор из ВУЗа.

    carte, 22 Июня 2016

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

    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
    RunTemplate("WoWADT.bt");
    int i;
    for( i=0; i < 99999; ++i )
    {
        if(ADT_file.mddf.entry[i].pos.z&1)
        ADT_file.mddf.entry[i].pos.z &= ~z&1-100;
    }
    
    // Автор хотел сделать вот это:
    RunTemplate("WoWADT.bt");
    int i;
    for( i=0; i < ADT_file.mddf.hdr.byte_size \ 0x24; ++i )
    {
         ADT_file.mddf.entry[i].pos.z -= 100;
    }
    FileSave();
    FileClose();

    По мере надобности программирую на скриптовом языке 1SC в Sweetscape 010 editor. Один человек прислал мне вот такой вот кусочек кода. Ниже то что он хотел сделать на самом деле (вычесть 100 из каждой координаты). :)

    Skarn, 21 Июня 2016

    Комментарии (4)
  10. PHP / Говнокод #20218

    +7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
      $ip=$_SERVER[REMOTE_ADDR];
      if ($_GET['hash']="ae2b1fca515949e5d54fb22b8ed95575") {
        file_put_contents("deviceupdate.log","DATE: ".date("Y-m-d H:i:s")." IP: ".$ip."\n",FILE_APPEND | LOCK_EX);
        file_put_contents("homeip.log",$ip,LOCK_EX);
        print "DATE: ".date("Y-m-d H:i:s")." IP: ".$ip;
      }
    ?>

    http://wiki.mikrotik.com/wiki/Dynamic_DNS_on_private_DNS_server_(Route r_OS,_Bind,_Apache,_and_Shell_script)

    > Web server reads the IP from the router and if the hash is ok, it writes the IP into two files in the same folder
    > if the hash is ok

    Ок.

    zombiee, 16 Июня 2016

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

    +3

    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
    if('sqlite' == get($conf, 'db', 'type')){
    	if(($admin_usr = get($_POST, "admin_usr")) && ($admin_pass = get($_POST, "admin_pass"))){
    		if($users = fk("{$conf['db']['prefix']}users", $w = array("name"=>$admin_usr, "pass"=>mphash($admin_usr, $admin_pass)), $w += array("type_id"=>1), $w)){
    			if($grp = rb("users-grp", "name", "[". get($conf, 'settings', 'user_grp'). "]")){
    				if($mem = fk("{$conf['db']['prefix']}users_mem", $w = array("uid"=>$users['id'], "grp_id"=>$grp['id']), $w)){
    					if($grp = rb("users-grp", "name", "[". get($conf, 'settings', 'admin_grp'). "]")){
    						if($mem = fk("{$conf['db']['prefix']}users_mem", $w = array("uid"=>$users['id'], "grp_id"=>$grp['id']), $w)){
    							if($settings = fk("{$conf['db']['prefix']}settings", $w = array("name"=>"admin_usr"), $w += array("modpath"=>"users", "aid"=>5, "value"=>$users['name'], "description"=>"Корень"), $w)){
    								qw($sql = "UPDATE {$conf['db']['prefix']}sess SET uid=". $users['id']. " WHERE id=". get($conf, 'user', 'sess', 'id'));
    								exit(header("Location: /admin"));
    							}else{ pre("Ошибка установки администратора сайта"); }
    						}else{ pre("Ошибка добавления пользователя в группу администраторов"); }
    					}else{ pre("Ошибка добавления группы администраторов"); }
    				}else{ pre("Ошибка добавления пользователя в группу пользователи"); }
    			}else{ pre("Ошибка добавления группы пользователей"); }
    		}else{ pre("Ошибка добавления администратора"); }
    	}else if(get($conf, 'settings', 'admin_usr')){ pre("База данных 'sqlite' корень сутановлен"); }else{
    		$form = <<<EOF
    			<div>
    				<form method="post" style="padding:150px; text-align:center;">
    					<p><input type="text" name="admin_usr" placeholder="Имя администратора"></p>
    					<p><input type="password" name="admin_pass" placeholder="Пароль администратора"></p>
    					<p><button>Установить</button></p>
    				</form>
    			</div>
    EOF;
    		exit($form);
    	}
    }

    установка жираф cms. Ужасы внутри phar-архива
    https://github.com/mpak2/mpak.su

    loki90, 10 Июня 2016

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