1. PHP / Говнокод #1492

    +131.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
    30. 30
    31. 31
    32. 32
    33. 33
    function key_check($key) {
     if ($key == '') { return ''; }
     $key = preg_replace("/[^\w\xB2-\xB4\xBF-\xFF\xA5\xA8\xAA\xAF\xB8\xBA\s]/", "", $key );
     if ($key =='_SERVER' OR $key =='_SESSION' OR $key =='_FILES' OR $key =='_REQUEST' OR $key =='GLOBALS') die("<h3>Error variable ".basename(__FILE__)." ".__LINE__."</h3>");
     else return $key;
    }
    
    function str_check($str_val) {
    if ($str_val == '') { return ''; }
                    if(preg_match("/<[^>]*script*\"?[^>]*>/i", $str_val)
                    or preg_match("/<[^>]*object*\"?[^>]*>/i", $str_val)
                    or preg_match("/<[^>]*applet*\"?[^>]*>/i", $str_val)
                    or preg_match("/<[^>]*form*\"?[^>]*>/i"  , $str_val)
                    or preg_match("/&#\d+;{0,1}/i"  , $str_val) ){
                                    die("<h3>ERROR ".basename(__FILE__)." ".__LINE__."</h3>");
                    }
      $str_val = str_replace( "&"            , '&amp;'                 , $str_val );
      $str_val = str_replace( "<!--"         , '&#60;!--'              , $str_val );
      $str_val = str_replace( "-->"          , '--&#62;'               , $str_val );
      $str_val = str_replace( ">"            , '&gt;'                  , $str_val );
      $str_val = str_replace( "<"            , '&lt;'                  , $str_val );
      $str_val = str_replace( "\""           , '&quot;'                , $str_val );
      $str_val = str_replace( "\r"           , null                    , $str_val );
      $str_val = str_notsqlatacs($str_val);
      if (!get_magic_quotes_gpc()){$str_val=addslashes($str_val);}
      return $str_val;
    }
    function str_notsqlatacs($str_val) {
    $searcharray =array('/drop/i','/delete/i','/union/i','/char/i','/benchmark/i','/expression/i','/alert/i','/replace/i','/write/i','/document/i','/window/i','/script/i','/user_pass/i','/unescape/i','/eval/i','/form/i','/applet/i','/object/i','/user_login/i','/setTimeout/i','/onerror/i');
    $replacearray=array('&#100;rop','&#100;elete','&#117;nion','&#99;har','&#98;enchmark','&#69;xpression','&#65;lert','&#82;eplace','&#87;rite','&#68;ocument','&#87;indow','&#83;cript','&#85;ser_pass','&#85;nescape','&#69;val','&#70;orm','&#65;pplet','&#79;bject','&#85;ser_login','/&#83;etTimeout/i','/&#79;nerror/i');//
    $str_val=preg_replace($searcharray, $replacearray, $str_val);
      return $str_val;
    }

    Фрагмент файла ./php/wojs.php "портального движка" WebCodePortalSystem версии 5.2. И вот так вся CMSка - два с половиной мегабайта говна.

    guest, 07 Августа 2009

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

    +158.4

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    //...
    if (!count($error)) {
            if(strpos($msg,'samp.ucoz')) $msg = htmlSpecialChars('>>>>>>>>>>>{ Я ДАЛБОЁБ }<<<<<<<<<<<<<');
            if(strpos(strtoupper($msg),'GAMES.SHOP777')) $msg = htmlSpecialChars('>>>>>>>>>>>{ Я ДАЛБОЁБ }<<<<<<<<<<<<<');
            $DB->query("INSERT INTO `guestbook` (`user_id`,`user_name`,`msg`,`add_date`,`ip`) VALUES ('$user_id','$user_name','$msg',NOW(),'$ip')");
            header("Location: guestbook.php"); exit;
    }
    //...
    ?>

    Защита от спама :))
    Не, ну а чё, задолбали!

    guest, 07 Августа 2009

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

    +142.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
    $out="<table valign=top>";
    for($k = 0; $k <= 6; $k += 1){     
        $sql="SELECT * FROM user_news1 ORDER BY date DESC LIMIT ".$k.",1";         
        $query=mysql_query($sql);
        $out.="<tr>";     
        while ($res=mysql_fetch_assoc($query)){
         $out.="<td style='vertical-align:top'>
               <div class=newsblock>
               <div class=newsdate>".date("d.m.Y G:i",strtotime($res['date']))."</div>
               <div class=newschapter><a href='/news/".$res['id'].".html'>".$res['header']."</a></div>
               ".($res['photo']!= '' ? " <a href='/news/".$res['id']."'><img src=/".str_replace(".", "_small.", $res['photo'])." class=imgnews border=0 align=left></a> " : "")."
               <div>".$res['announce']."</div></td>";
         }
        
        $out.="</tr>";
    }    
    $out.="</table>";
    
    
    echo $out;

    Вот как надо новости выводить:)

    guest, 07 Августа 2009

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

    +142.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
    public enum Month
      {
        Января = 1,
        Февраля = 2,
        Марта = 3,
        Апреля = 4,
        Мая = 5,
        Июня = 6,
        Июля = 7,
        Августа = 8,
        Сентября = 9,
        Октября = 10,
        Ноября = 11,
        Декабря = 12
      } 
    
    // Использование
    m_date.Text = t.Day + " " + ((Month) t.Month) + " " + t.Year;

    Одноразовый енум

    guest, 07 Августа 2009

    Комментарии (22)
  5. Си / Говнокод #1488

    +140

    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
    int  seek_substring_KMP  (char s[],   char q[])
    	{ 
    	int  i, j, N, M; 
    	N = strlen(s); 
    	M = strlen(q); 
    	int *d =(int*)malloc(M*sizeof(int)); /* динамический массив длины М*/ 
    	/* Вычисление префикс-функции */ 
    	i=0; 
    	j=-1;
    	d[0]=-1;
    	while(i<M-1)
    		{
    		while((j>=0) && (q[j]!=q[i]))
    			j = d[j];
    		i++;
    		j++;
    		if(q[i]==q[j])
    			d[i]=d[j];
    		else
    			d[i]= j;
    		}
    	/* поиск */
    	for(i=0,j=0;(i<N)&&(j<M); i++,j++)
    		while((j>=0)&&(q[j]!=s[i]))
    			j=d[j];
    	free (d);  /* освобождение памяти массива d */ 
    	if (j==M)
    		return i-j;
    	else /* i==N */
    		return -1;
    	}

    Алгоритм Кнута — Морриса — Пратта. Жуже сложно реализвовать(

    guest, 07 Августа 2009

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

    +143

    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
    (12:30:38) * Joins: skimer ([email protected])
    (12:38:37) * Joins: snaky ([email protected])
    (12:39:30) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality- vS b0rm 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
    (12:39:32) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality- vS b0rm 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
    (12:42:12) * Joins: gErayke ([email protected])
    (12:43:09) * Quits: snaky ([email protected]) (Quit: snaky)
    (12:43:48) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
    (12:48:14) * Quits: z1Pp0- ([email protected]) (Quit: z1Pp0-)
    (12:51:26) * TheDimmy /Y\ ???? ?? ???????: Tuc-Tuc*. /Y\ ?????: 12:51:40 /Y\
    (12:51:45) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
    (12:53:57) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
    (12:53:58) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
    (12:54:23) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
    (12:59:41) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!
    (12:59:41) * Viktor-S http://radio.XF.lv:8000/listen.pls RADIO EFIR 1x1 duality vS b0rm. 150 LS NA KANU!!!!!!!!!!!!! V EFIRE Viktor-S !!!!!!!!!!!!!!!!!!!!

    da

    guest, 07 Августа 2009

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

    +153

    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
    #! /bin/sh
    if [ ! -d $4 ]
    then
    echo Creating $4
    mkdir "$4"
    fi
    export url1="\/$2/src\/\d{1,30}\.[^ ]{1,3}"
    export url2="\/$2\/"/"http\:\/\/$1\/$2\/"
    #echo $url1 $url2
    echo Entering $4
    cd "$4" && rm -f $3.html && wget http://$1/$2/res/$3.html -O $3.html && cat $3.html |pcregrep -o -e "$url1" |sed s/$url2/g|uniq >get.txt && wget -nc -i get.txt --referer="http://$1/$2" -U "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.6) Gecko/2009011913 Firefox/3.0.6 (.NET CLR 3.5.30729)"
    
    rm -f get.txt
    echo Done!

    запуск сприпт сайт борда #_темы куда_сохранять

    guest, 07 Августа 2009

    Комментарии (1)
  8. Java / Говнокод #1485

    +143.5

    1. 1
    hideVoting = (disabled || getVisitor().isAnonymous()) ? true : false;

    guest, 07 Августа 2009

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

    +151.4

    1. 1
    2. 2
    3. 3
    if (isset($_SESSION) && !is_array($_SESSION)){
     exit("Hacking attempt");
    }

    просто улыбнуло
    симпатичная антихакерская защита

    guest, 07 Августа 2009

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

    −355.7

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    for item in self.__dict__.keys():
                if item[:3] == 'on_' or \
                   item[:16] == 'set_handler_for_' or \
                   item[:6] == 'do_on_'\
                :
                    del self.__dict__[item]

    guest, 07 Августа 2009

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