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

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

    +164.8

    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
    <?
    
    function gpc_inspector_no_magic($param, $value)
    {	
    	if(substr($param, 0, 4) == 'int_')
    		return intval($value);
    	else
    		{
    			$value = addslashes($value);
    			$value = htmlspecialchars($value, ENT_QUOTES);
    			return $value;
    		}
    }
    
    function gpc_inspector_magic($param, $value)
    {	
    	if(substr($param, 0, 4) == 'int_')
    		return intval($value);
    	else
    		{
    			$value = htmlspecialchars($value, ENT_QUOTES);
    			return $value;
    		}
    }
    
    function gpc_inspector_start(&$super_global)
    {
    	$request_params = array_keys($super_global);
    	$request_values = array_values($super_global);
    	if(get_magic_quotes_gpc())
    		$super_global = array_map('gpc_inspector_magic', $request_params, $request_values);
    	else
    		$super_global = array_map('gpc_inspector_no_magic', $request_params, $request_values);	
    }
    
    gpc_inspector_start($_GET);
    gpc_inspector_start($_POST);
    gpc_inspector_start($_COOKIE);
    
    ?>

    Автор активно борится с кул хацкерами...%)

    funny_rabbit, 21 Февраля 2010

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

    +164.7

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    $arr = array('blabla','blabla_1','blabla_2');
    $mask = 'blabla';
    $lenght = strlen($mask);
    $pos = null;
    foreach($arr as $k=>$v)
     {
      $pos = stripos($arr[$k],$mask);
      if(isset($pos))
      {
        $arr[$k] = substr($arr[$k],$pos,$lenght);
      }
     }

    Задача была - удалить в строках все после символа _
    Источник http://www.nulled.ws/showthread.php?t=159950

    RolCom, 14 Декабря 2009

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

    +164.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    $db = new mysqli(MYSQL_HOST,MYSQL_USER,MYSQL_PASSWORD,MYSQL_DATABASE);
    $query = 'UPDATE registration SET choose_style="'.$_POST['style'].'" WHERE registration_id='.$profile_id;
    $result = $db->query($query);
    if ($result && $db->affected_rows > 0) {
    	echo 'Стиль успешно изменен. Закройте браузер и зайдите снова.';
    } else {
    	echo 'Стиль не изменен';
    	echo $db->error;
    }

    "Закройте браузер и зайдите снова" )))

    Sadie, 14 Сентября 2009

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

    +164.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    <?php
    if (isset ($_POST['logform'])) {$logform = $_POST['logform'];} else {$logform = $_POST['logform'];}
    echo $logform;
    
    if (isset ($_POST['pasform'])) {$pasform = $_POST['pasform'];} else {$pasform = $_POST['pasform'];}
    echo $pasform;
    
    ?>

    Контрольный в голову

    MoLe-X, 18 Апреля 2010

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

    +164.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    function setStyle (id, style, val) {
    if (document.getElementById(id).getAttribute('style').indexOf(style) != -1) {
    document.getElementById(id).setAttribute('style', document.getElementById(id).getAttribute('style').replace(style, val))} else {
    document.getElementById(id).setAttribute('style', document.getElementById(id).getAttribute('style') + style + ':' + val + ';')
    }
    }

    Функция для установки CSS-свойств от китайских умельцев.

    eval, 27 Марта 2010

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

    +164.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    // HTML:
    // <input type="hidden" name="comm_validation" value="true" tabindex="3" />
    
    // wp-comments-post.php 
    if ($_POST['comm_validation'] != 'true')
    {
        exit();
    }

    Эффективная защита от спама без помощи плагинов. Нашел в каментах http://nutwin.net.ru/effektivnaya-zashhita-ot-spama-bez-plaginov/

    wwwguru, 24 Марта 2010

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

    +164.6

    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
    <HTML>
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
    </meta>
    <BODY>
    <style>
    <? include "style.css"; ?>
    </style>
    <?
    include "menu.php";
    include "main.php";
    ?>
    </BODY>
    </HTML>

    Своеобразный способ подключения стилей)))
    Из ЛС вконтакта.

    Subsanek, 12 Марта 2010

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

    +164.6

    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
    function Parser($html,$safelevel=1,$censored=false,$typo=true,$crop=0)
    {
    /* v2
        # 17/10/01
        
        html        обезапасиваемая строка
        safelevel   указывает разрешенные теги:       0 = все разрешены
                                                      1 = B,I,U,FONT,P,DIV,CENTER,IMG,A,SPAN,TABLE,TD,TR,INPUT,FORM,TEXTAREA,SCRIPT
                                                      2 = B,I,U,FONT,P,DIV,CENTER,IMG,A,SPAN,TABLE,TD,TR
                                                      3 = B,I,U,FONT,P,DIV,CENTER,IMG,A,SPAN
                                                      4 = B,I,U,FONT,CENTER,IMG,A
                                                      5 = B,I,U,IMG,A
                                                      6 = B,I,U,IMG
                                                      7 = B,I,U,A
                                                      8 = IMG,A
                                                      9 = B,I,A
                                                     10 = I,A
                                                     11 = A
                                                     12 = никакие
                                               "STRING" = указать самому (в формате <a><b><c>)
        censored    пропускать-ли через цензор
        typo        пропускать-ли через сраный типограф
    */  
    
        # обезопасиваем
        switch ($safelevel)
        {
            case 0: $return =       $html; break;
            case 1: $return =       strip_tags($html,"<b><i><u><font><p><div><center><img><a><span><table><td><tr><input><form><textarea><script>"); break;
            case 2: $return =       strip_tags($html,"<b><i><u><font><p><div><center><img><a><span><table><td><tr>"); break;
            case 3: $return =       strip_tags($html,"<b><i><u><font><p><div><center><img><a><span>"); break;
            case 4: $return =       strip_tags($html,"<b><i><u><font><center><img><a>"); break;
            case 5: $return =       strip_tags($html,"<b><i><u><img><a>"); break;
            case 6: $return =       strip_tags($html,"<b><i><u><img>"); break;
            case 7: $return =       strip_tags($html,"<b><i><u><a>"); break;
            case 8: $return =       strip_tags($html,"<img><a>"); break;
            case 9: $return =       strip_tags($html,"<b><i><a>"); break;
            case 10: $return =      strip_tags($html,"<i><a>"); break;
            case 11: $return =      strip_tags($html,"<a>"); break;
            case 12: $return =      strip_tags($html); break;
            default: $return=addslashes($return); break;
        }
        
        
        
        # если censored=true, то цензорим все, сносим хуи и пёзды.
         # upd: к сожалению, цензор, спизженый где-то в сети, оказался корявым и мы временно будем читать мат.
        if ($censored==false)
        {
            $return=str_replace("!!!!!!!!!!","! я идиот, убейте меня кто нибудь !",$return);
            $return=str_replace("))))))))))","! я идиот, убейте меня кто нибудь !",$return);
        }
        
        # если typo=true то обрабатываем сраным типографом
        if ($typo==true)
        {
            $typog = new Typographus();
            $return = $typog->process($return);
        }
    
         if ($crop!=0)
         {
              $return = CropString($crop,$return);
         }
    
        return $return;
    }

    getrix, 11 Ноября 2009

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

    +164.6

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?php 
    // ...
    $content = join('',file("".$main_server."site/".$links_path.""));
     if (strlen($content) >= 20000)$content = 'Ошибка!';
    echo $content;
    ?>

    Самая убойная проверка на ошибки, которую я только видел. Из предыстории, есть один один супер проект, который раздает данные какого-либо рода.
    Данные выхватываются с неге по http, что мы собственно и видим, и выводятся.
    Основной проект написан так, что если друг URL не верен, то выдает var_dump отладочной информации. В связи с этим автор этого кода выдал афигенную проверку на ошибки.
    Достойно индусов :D
    про загрузку я вообще молчу, это же просто изврат ( в общем, решение жутко плохое, но на половине клиентов оно крутится до сих пор, и исправлять это никто не собирается :(

    nicolay-punin, 01 Ноября 2009

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

    +164.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
    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
    if($s_r1>0){
    while($s_ww_1=mysql_fetch_object($s_q_1)){
    $row_repl1["id"]=$s_ww_1->id;
    $row_repl1["name"]=$s_ww_1->name;
    $row_repl1["nick"]=$s_ww_1->nick;
    if($s_ww_1->nick==''){
    $row_tpl1 = new FileTemplate($row_repl1, "TEMPL/shabl119.tpl");
    }else{
    $row_tpl1 = new FileTemplate($row_repl1, "TEMPL/shabl120.tpl");
    }
    $row_repl0["T_level1"].=$row_tpl1->parse();
    $row_repl1=array();
    }// end while
    @mysql_free_result($s_q_1);
    }//if
    $row_tpl0 = new FileTemplate($row_repl0, "TEMPL/shabl152.tpl");
    $row_tpl0->display();
    $row_repl0=array();
    }// end while
    @mysql_free_result($s_q);
    }//if
    }elseif($lnk1==47){
    $s_q=mysql_query("SELECT id, name, descr FROM experts WHERE id=$lnk2 LIMIT 1");
    $s_r1 = mysql_error() ? 0 : mysql_num_rows($s_q);
    if($s_r1>0){
    while($s_ww=mysql_fetch_object($s_q)){
    $row_repl["id"]=$s_ww->id;
    $row_repl["name"]=$s_ww->name;
    $row_repl["descr"]=$s_ww->descr;
    $row_tpl = new FileTemplate($row_repl, "TEMPL/shabl18.tpl");
    $row_tpl->display();
    $row_repl=array();
    }// end while
    @mysql_free_result($s_q);
    }//if
    }elseif($lnk1==54){
    $s_q=mysql_query("SELECT id, name, subtitle, type, number, doclevel, body, date, descr, txt, shows, prompt FROM documents WHERE id=$lnk2 LIMIT 1");
    $s_r1 = mysql_error() ? 0 : mysql_num_rows($s_q);
    if($s_r1>0){
    while($s_ww=mysql_fetch_object($s_q)){
    $row_repl["id"]=$s_ww->id;
    $row_repl["name"]=$s_ww->name;
    $row_repl["subtitle"]=$s_ww->subtitle;
    $row_repl["ParentType"]=$s_ww->type;
    $ParentType=$row_repl["ParentType"];
    $s_q2=mysql_query("select name as type_doctypes_name from doctypes where id=".$s_ww->type."");
    $s_n2 = mysql_error() ? 0 : mysql_num_rows($s_q2);
    if($s_n2>0){
    $s_w2=mysql_fetch_object($s_q2);
    $row_repl["type_doctypes_name"]=stripslashes($s_w2->type_doctypes_name);
    @mysql_free_result($s_q2);
    }//s_n2
    $row_repl["number"]=$s_ww->number;
    $row_repl["doclevel"]=$s_ww->doclevel;
    $s_q2=mysql_query("select name as doclevel_doclevels_name from doclevels where id=".$s_ww->doclevel."");
    $s_n2 = mysql_error() ? 0 : mysql_num_rows($s_q2);
    if($s_n2>0){
    $s_w2=mysql_fetch_object($s_q2);
    $row_repl["doclevel_doclevels_name"]=stripslashes($s_w2->doclevel_doclevels_name);
    @mysql_free_result($s_q2);
    }//s_n2
    $row_repl["body"]=$s_ww->body;
    $row_repl["date"]=mysqldate_to_str($s_ww->date);
    $row_repl["descr"]=$s_ww->descr;
    $row_repl["txt"]=$s_ww->txt;
    $row_repl["shows"]=intval($s_ww->shows)+1;
    @UpdateFCounter("documents","shows","copyshows","id",$s_ww->id);

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

    karevn, 10 Февраля 2010

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