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

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

    +168

    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 isValidCharacters($str)
    	{
    		$str2 = preg_replace("[^a-zA-Zа-яА-Я[email protected]]","",$str);
    		if ($str != $str2) return FALSE;
    		return TRUE;
    	}
    	$nik=preg_replace("[^a-zA-Zа-яА-Я[email protected]]","",$_POST['nik']);
    	$pass=preg_replace("[^a-zA-Zа-яА-Я[email protected]]","",$_POST['pass']);
    	if (!isValidCharacters($nik) || !isValidCharacters($pass))
    	{
    		$_SESSION['auth']="error";
    		$_SESSION['error_mes']="Неверный логин или пароль";
    		header('Location: ./index.php');
    		exit();
    	}
    
    //дальше проверка на совпадение логина\пароля, ничего интересного.
    ?>

    Строка 10, после 8-9, типа "А вдруг?!"

    mr.The, 14 Сентября 2011

    Комментарии (7)
  3. PHP / Говнокод #7859

    +168

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    foreach ($_POST as $k=>$v)
            if (!is_array($v))
                    $_POST[$k] = htmlspecialchars($v);
            else
                    foreach ($v as $kk=>$vv)
                            if (!is_array($vv))
                                    $_POST[$k][$kk] = htmlspecialchars($vv);
                            else
                                    foreach ($vv as $kkk=>$vvv)
                                            if (!is_array($vvv))
                                                    $_POST[$k][$kk][$kkk] = htmlspecialchars($vvv);

    atarix12, 14 Сентября 2011

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

    +168

    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
    ...
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_octa">'.gettags("str_octa").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_accident">'.gettags("str_sluch").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_travel">'.gettags("str_travel").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=6&cat=i_history">'.gettags("str_history").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="8" class="lnk"><img src="images/spacer.gif" width="10" height="8" /></td>';
            echo '</tr>';
            echo '</table>';
            echo '</DIV>';
            echo '<!---  end of left menu area ---></td></tr>';
            break;        
    // Spravochniki    
        case 7:
            echo '<td width="5"   bgcolor="#FFFFFF"><img src="images/spacer.gif" width="5" height="700" /></td>';
            echo '<td width="219" valign="top" ><!---  left area --->';
            echo '<table width="219" height="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">';
            echo '<tr>';
            echo '<td width="219" height="89"><!---  left menu area --->            <DIV class="left-menu">';
            echo '<table width="219" cellpadding="0" cellspacing="0" class="left-menu" border="0">';
            echo '<tr>';
            echo '<td width="219" height="27" background="images/LMenuBG.gif" class="txtTitleWhite">'.gettags("spr_notarius").'</td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="3" class="lnk"><img src="images/spacer.gif" width="10" height="3" /></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=7&cat=s_help">'.gettags("spr_nothelp").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=7&cat=s_functions">'.gettags("spr_funct").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="18" class="lnk" ><a href="?ierh=7&cat=s_when">'.gettags("spr_notwhen").'</a></td>';
            echo '</tr>';
            echo '<tr>';
            echo '<td width="219" height="27" background="images/LMenuBG.gif" class="txtTitleWhite">'.gettags("spr_zemsl").'</td>';
    ...

    Переделываем сайт одной компании. Пока суд да дело, их "текущий" сайт переехал к нам на хостинг. Из любопытства залез в код.
    Лучше бы я этого не делал.
    Собственно, ЭТО (и сотни, если не тысячи строк в том же духе) и выводят все странички.

    havelock, 12 Сентября 2011

    Комментарии (23)
  5. PHP / Говнокод #7765

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    function get_os($user_agent) 
    {    
    $oses = array ('(Windows 95)|(Win95)|(Windows_95)', '(Windows 98)|(Win98)',  '(Windows NT 5.0)|(Windows 2000)', '(Windows NT 5.1)|(Windows XP)', 'Windows NT 5.2', '(Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT)', 'Windows ME', 'OpenBSD',   'SunOS',  '(Linux)|(X11)',   '(Mac_PowerPC)|(Macintosh)',   'QNX',  'BeOS', 'OS/2'); 
    foreach($oses as $os) 
    { 
    if (eregi($os, $user_agent)) return 'PC'; 
    } 
    return 'Mobile'; 
    }

    И снова мастер-класс по определению какую версию сайта отдать.

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

    7ion, 04 Сентября 2011

    Комментарии (2)
  6. PHP / Говнокод #7706

    +168

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    <?php  
    function makestime($string) {  
    
    $day=floor($string/86400);  
    $hours=floor(($string/3600)-$day*24);  
    $min=floor(($string-$hours*3600-$day*86400)/60);  
    $sec=$string-($min*60+$hours*3600+$day*86400);  
    
    return $day.' дн. '.$hours.':'.$min.':'.$sec;  
    }  
    ?>

    Перевод секунд в дни
    Функция из WAP-MotoR CMS.
    Воистину, язык программирования дат.

    7ion, 30 Августа 2011

    Комментарии (15)
  7. PHP / Говнокод #7704

    +168

    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
    Функция Антимата
    
    
    <?php  
    //Маты записываёте в antmat.dat 
    function antimat($msg) {  
    if (file_exists("antimat.dat")) {  
    $mat = file_get_contents("antimat.dat");  
    $arr_mat = explode("|",$mat);  
    foreach($arr_mat as $value) {  
    if($value != "") {  
    $msg = preg_replace("|$value|iu","***",$msg);  
    }}}  
    return $msg;  
    }  
    ?>

    И заходишь на любой форум про похапе
    @
    И копируешь на говнокод всю тему "полезные функции"

    7ion, 30 Августа 2011

    Комментарии (25)
  8. JavaScript / Говнокод #7697

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    var command = 'var p = new Object();';
             command +='p.adId = "' + params.adId + '";';
             command +='p.campaignId = "' + params.campaignId + '";';
             command +='p.parentPositionId="' + params.parentPositionId + '";';
             command +='p.childPositionIds = "' + params.childPositionIds + '";';
             command +='oneAdSkyscraperLoaded(p);';
      setTimeout(command, 0);

    Латвийский eval

    jQuery, 30 Августа 2011

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $IIIIIIIIIIII = array('http://yourlink.com/' ,'http://yourlink.com//' ,'http://yourlink.com//' ,'http://yourlink.com//' ,'http://yourlink.com/' ); 
    $IIIIIIIIIIIl = array('your link' ,'your link' ,'your link' ,'your link' ,'your link'); 
    srand(time()); 
    $IIIIIIIIIII1 = (rand()%5); 
    echo ("<a href = \"$IIIIIIIIIIII[$IIIIIIIIIII1]\">$IIIIIIIIIIIl[$IIIIIIIIIII1]</a>");

    Особо умиляет переменная $IIIIIIIIIIIl...

    VanbOK, 16 Августа 2011

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    if ((!IsForum() && $url[0] != 'underwater-video' && $end_element !='diveclan' && $end_element !='partners') || ($url[0] != 'underwater-photo' && sizeof($url)==1))
            if ($url[0]!='atlas-uw-photo' && !empty($title) && $end_element!='diving-guide' && $end_element!='atlas-wrecks' && $end_element!='atlas-deep'  && $end_element!='atlas-caves' && $end_element!='sea-inhabitants')
                    if ($APPLICATION->GetCurPage()!='/underwater-video/mygallery.php' && $APPLICATION->GetCurPage()!='/underwater-video/add.php' && $APPLICATION->GetCurPage()!='/atlas_update/travel_add/index.php')
                            if ($url[0] != 'diving-media' && $url[0] != 'underwater-photo')
                                    $APPLICATION->SetTitle($title);

    Унифицированный костыль тайтлов на битриксе. Это лежит во вкл области, которая цепояется после </html>

    atarix12, 16 Августа 2011

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

    +168

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    $type = '';
    if ($info[5]=='') $type.='0'; else $type.='1';
    if ($info[6]=='') $type.='0'; else $type.='1';
    if ($info[7]=='') $type.='0'; else $type.='1';
    if ($type=='000') $type = '100';

    Честно говоря я смотрел и пытался понять чего же человек этим добиться хотел... Это полный п%здец.

    invision70, 31 Июля 2011

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