1. Список говнокодов пользователя mr.The

    Всего: 21

  2. JavaScript / Говнокод #8690

    +169

    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
    /*
    Функция раскодирования символов кириллицы.
    Исходные данные должны содержаться в строке $ToDecode.
    Символы кириллицы раскодируются из: ^NN, где NN - номер символа (по очереди на клавиатуре, вначале заглавные буквы).
    01 - Й, 02 - Ц, ... 31 - Б, 32 - Ю, 33 - Ё, 34 - й, 35 - ц, ..., 64 - б, 65 - ю, 66 - ё
    Все символы, кроме раскодируемых данным образом остаются неизменными.
    Добавлены украинские символы.
    */
    function decoding (ToDecode)
      {
      var Result = ''
      var len = ToDecode.length
      var ch=''
      var i = 0
      while (i<len)
        {
        ch = ToDecode.charAt(i)
    
        if (ch == '^')
          {
           ch=ch+ToDecode.charAt(i+1)+ToDecode.charAt(i+2)
           if (ch=='^01') {ch = 'Й';} if (ch=='^02') {ch = 'Ц';} if (ch=='^03') {ch = 'У';}
           if (ch=='^04') {ch = 'К';} if (ch=='^05') {ch = 'Е';} if (ch=='^06') {ch = 'Н';}
           if (ch=='^07') {ch = 'Г';} if (ch=='^08') {ch = 'Ш';} if (ch=='^09') {ch = 'Щ';}
           if (ch=='^10') {ch = 'З';} if (ch=='^11') {ch = 'Х';} if (ch=='^12') {ch = 'Ъ';}
           if (ch=='^13') {ch = 'Ф';} if (ch=='^14') {ch = 'Ы';} if (ch=='^15') {ch = 'В';}
           if (ch=='^16') {ch = 'А';} if (ch=='^17') {ch = 'П';} if (ch=='^18') {ch = 'Р';}
           if (ch=='^19') {ch = 'О';} if (ch=='^20') {ch = 'Л';} if (ch=='^21') {ch = 'Д';}
           if (ch=='^22') {ch = 'Ж';} if (ch=='^23') {ch = 'Э';} if (ch=='^24') {ch = 'Я';}
           if (ch=='^25') {ch = 'Ч';} if (ch=='^26') {ch = 'С';} if (ch=='^27') {ch = 'М';}
           if (ch=='^28') {ch = 'И';} if (ch=='^29') {ch = 'Т';} if (ch=='^30') {ch = 'Ь';}
           if (ch=='^31') {ch = 'Б';} if (ch=='^32') {ch = 'Ю';} if (ch=='^33') {ch = 'Ё';}
           if (ch=='^34') {ch = 'й';} if (ch=='^35') {ch = 'ц';} if (ch=='^36') {ch = 'у';}
           if (ch=='^37') {ch = 'к';} if (ch=='^38') {ch = 'е';} if (ch=='^39') {ch = 'н';}
           if (ch=='^40') {ch = 'г';} if (ch=='^41') {ch = 'ш';} if (ch=='^42') {ch = 'щ';}
           if (ch=='^43') {ch = 'з';} if (ch=='^44') {ch = 'х';} if (ch=='^45') {ch = 'ъ';}
           if (ch=='^46') {ch = 'ф';} if (ch=='^47') {ch = 'ы';} if (ch=='^48') {ch = 'в';}
           if (ch=='^49') {ch = 'а';} if (ch=='^50') {ch = 'п';} if (ch=='^51') {ch = 'р';}
           if (ch=='^52') {ch = 'о';} if (ch=='^53') {ch = 'л';} if (ch=='^54') {ch = 'д';}
           if (ch=='^55') {ch = 'ж';} if (ch=='^56') {ch = 'э';} if (ch=='^57') {ch = 'я';}
           if (ch=='^58') {ch = 'ч';} if (ch=='^59') {ch = 'с';} if (ch=='^60') {ch = 'м';}
           if (ch=='^61') {ch = 'и';} if (ch=='^62') {ch = 'т';} if (ch=='^63') {ch = 'ь';}
           if (ch=='^64') {ch = 'б';} if (ch=='^65') {ch = 'ю';} if (ch=='^66') {ch = 'ё';}
           // украинские символы
           if (ch=='^67') {ch = 'Ї';} if (ch=='^68') {ch = 'І';} if (ch=='^69') {ch = 'Є';}
           if (ch=='^70') {ch = 'Ґ';} if (ch=='^71') {ch = 'ї';} if (ch=='^72') {ch = 'і';}
           if (ch=='^73') {ch = 'є';} if (ch=='^74') {ch = 'ґ';}
           i=i+2
          }
        i=i+1
        Result=Result+ch
        }
      return Result
      }

    А я минут 10 ковырялся думая в каком виде они кириллицу пересылают.

    mr.The, 30 Ноября 2011

    Комментарии (6)
  3. 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)
  4. PHP / Говнокод #7198

    +160

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    <?php
    //...
    public function saveTask($task){
    			if(is_numeric($task->id)){ //How do I check whether a member exists in php?
    				//update
    			}else{
    				// insert new
    			}
    		}
    //...

    Комментарий на 4-й строке убивает.
    Снова код из vTiger CRM.

    mr.The, 07 Июля 2011

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

    +160

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    <?php
    //...
    	$fileinattachments = $root_directory.$filepath.$fileid.'_'.$filename;
    	if(!file($fileinattachments)) $fileinattachments = $root_directory.$filepath.$fileid."_".$filename
    //...
    ?>

    Много думал. Код из незабвенной vTiger CRM.

    mr.The, 29 Июня 2011

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

    +172

    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
    <?php
    
    //...
    
    if(version_compare(phpversion(), '5.0') < 0) {
            insert_charset_header();
            require_once('phpversionfail.php');
            die();
    }
    
    require_once('include/utils/utils.php');
    
    if (version_compare(phpversion(), '5.0') < 0) {
        eval('
        function clone($object) {
          return $object;
        }
        ');
      }
    
    //....
    
    ?>

    Код из vTiger CRM. Индусы как обычно.

    mr.The, 31 Мая 2011

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

    +158

    1. 1
    return $lines[(rand(0,count($lines)-1)*10)/10]; // ололо, говнокод, но так лучше работает 0_o

    Нашел в своём, относительно недавно, написанном коде. Под чем я это писал?! В упор не помню..
    А что самое страшное - я же знаю про array_rand(). Хотя, тут больше доставляет *10/10.

    mr.The, 25 Декабря 2010

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

    +164

    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
    <?php
     // Получение страницы напрямую или через проксю
    function getfile($GrabURL)
    {
     global $proxy_name,$proxy_port;
    
     if($proxy_name!="")
     {
      $f = urldecode($GrabURL);
      $proxy_fp = fsockopen($proxy_name, $proxy_port,$errno,$errstr);
      if (!$proxy_fp)
       return false;
      $out = "GET ".$f." HTTP/1.0\r\n\r\n";
      fwrite($proxy_fp, $out);
      $x = "";
      stream_set_timeout($OpenFile, 10);
      stream_set_blocking($OpenFile, 0);
      while (!feof($proxy_fp))
      {
       $RetrieveFile = fread($proxy_fp,8192) or last;
       $x = $x.$RetrieveFile;
      }
      fclose($proxy_fp);
     }
     else
     {
    
     $OpenFile = fopen($GrabURL, "rb");
    
     if(!$OpenFile) return "";
    
       $i = 0;
       $x = "";
       stream_set_timeout($OpenFile, 10);
       stream_set_blocking($OpenFile, 0);
       while (!feof($OpenFile))
        {
         $RetrieveFile = fread($OpenFile, 8192);
         $x=$x.$RetrieveFile;
        }
       fclose($OpenFile);
      }
     return $x;
    }
    ?>

    Аналог file_get_contents. По просьбам из #4065

    mr.The, 23 Августа 2010

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

    +165

    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
    <?php
    //...
     $GrabURL = "http://www.google.com/search?q=".$url."&sourceid=opera&num=100&ie=utf-8&oe=utf-8&start=".$page;
      $x=getfile($GrabURL); //автор сделал велосипед-аналог file_get_contents
      $handle = fopen("rip_google.txt","w+");
      fwrite($handle, $x);
      fclose($handle);
      $screen = file("rip_google.txt");
      $content = implode("",$screen);
      // вытягиваем линк
      preg_match_all("!\<h2 class=r\>\<a href=\"(http:.*?)[\"|&]!si" ,$content, $out1, PREG_PATTERN_ORDER);
    //...
    ?>

    Код из парсера гугла. Файл rip_google.txt больше реально нигде не используется. Так же порадовала комбинация строк 8-9.

    mr.The, 22 Августа 2010

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

    +164

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    $page=$_GET['p'];
    
    if(abs(intval($page)).""==$page) {
    // ...
    }
    ?>

    Нашел в своём старом коде. Ну да, я тоже когда-то не знал, про is_int();

    mr.The, 08 Августа 2010

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

    +166

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    <?php
    session_start();
    // супер-мега защита от ддоса
    $_SESSION['antiddos']==time() ? exit() : $_SESSION['antiddos']=time();
    //конец супер мега защиты
    ....
    ?>

    Найдено в старом проекте, код не мой.
    Но вы знаете, от толпы школьников с кнопками F5 это реально помогает!

    mr.The, 02 Июня 2010

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