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

    +170

    1. 1
    2. 2
    $fh = fopen($filename, r);
    while(($str = fread($fh, 1024)) != null) $fsize += strlen($str);

    Вот так теперь в PHP принято определять размер файла.

    Sandro, 30 Ноября 2010

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

    +145

    1. 1
    2. 2
    3. 3
    4. 4
    $ptn = "^[а-яА-Я]{1,}$";
    $str = "т";
    ereg($ptn, $str, $matches);
    print_r($matches);

    Почему не видит русской маленькой буквы "т". Это из-зи юникода? ПХП - говно значит

    increazon, 30 Ноября 2010

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

    +179

    1. 1
    eval(file_get_contents("../myClass.php"));

    Интересно, он подозревает о существовании функции include ?

    DropWorld, 29 Ноября 2010

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

    +151

    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
    function clean_url ($url) {
    
      if ($url == '') return;
    
      $url = str_replace("http://", "", strtolower($url));
      $url = str_replace("https://", "", $url );
      if (substr($url, 0, 4) == 'www.')  $url = substr($url, 4);
      $url = explode('/', $url);
      $url = reset($url);
      $url = explode(':', $url);
      $url = reset($url);
    
      return $url;
    }
    
    
    if (clean_url($_SERVER['HTTP_REFERER']) != clean_url($_SERVER['HTTP_HOST'])) die("Hacking attempt!");

    DLE 9.0, /engine/modules/antibot.php
    В браузере выключена передача реферера, последняя строчка особо не нужна, ибо HTTP_REFERER не подделывают только из-за лени, а вот полезные пользователи действительно страдают.
    Да и получение хоста из реферера радует.

    Morgan, 29 Ноября 2010

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

    +145

    1. 1
    return !!$this->db->where('id', $for_id)->update($for, $row);

    ояебал, у них наверное где-то склад с веществами

    DrFreez, 28 Ноября 2010

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

    +165

    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    function loadtitle($array) { //Функция установки meta-параметров в массив
    	$meta = array(); //Устанавливаем массив
    	$meta['title']=$array['title']; //Присваиваем метаданные
    	$meta['description'] =  $array['description'];				
    	$meta['author'] = $array['author'];				
    	$meta['keywords'] = $array['keywords'];	
    	return $meta; //Возвращаем массив метаданных
    }

    обнаружил в своем проекте 3 летней давности. сижу и тихо офигеваю)

    kindofbear, 28 Ноября 2010

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

    +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
    if(!empty($_SESSION["aktion"])){
    //Если сесии не найдено то проверяем если куки
    if(isset($_COOKIE["key"]) && isset($_COOKIE["PHPSESSID"]) && isset($_COOKIE["wrkesh"])){
    //Прогоняем куки через фильтры
    $test["key"] = htmlspecialchars($_COOKIE["key"]);
    $test["key"] = stripslashes($_COOKIE["key"]);
    $test["key"] = mysql_real_escape_string($_COOKIE["key"]);
    $test["PHPSESSID"] = htmlspecialchars($_COOKIE["PHPSESSID"]);
    $test["PHPSESSID"] = stripslashes($_COOKIE["PHPSESSID"]);
    $test["PHPSESSID"] = mysql_real_escape_string($_COOKIE["PHPSESSID"]);
    $test["wrkesh"] = htmlspecialchars($_COOKIE["wrkesh"]);
    $test["wrkesh"] = stripslashes($_COOKIE["wrkesh"]);
    $test["wrkesh"] = mysql_real_escape_string($_COOKIE["wrkesh"]);
    //проверяем если такая запись в бд
    $test_result = mysql_query("SELECT * FROM session WHERE md_5_id='$test[wrkesh]' AND ip='$_SERVER[REMOTE_ADDR]' AND clucc='$test[key]' AND sid='$test[PHPSESSID]'");
    $test_myrow = mysql_fetch_array($test_result);
    if($test_myrow ==true){
    //Если даные с кук и бд совподают то создаём сессию
    $_SESSION["aktive"] ="aktive";
    mysql_close();
    }
    }
    }

    С "Ответов" mail.ru - типа проверка безопасности.

    planaric, 28 Ноября 2010

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

    +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
    function cleanUrl( $url ){
    	
    	$new_url = str_replace( " ", "-", $url );
    	$new_url = str_replace( "/", "-", $new_url );
    	$new_url = str_replace( "--", "-", $new_url );
    	$new_url = str_split( $new_url );
    	$new_url = preg_grep( "<[A-Za-z0-9-_]+>", $new_url );
    	$new_url = trim( implode( $new_url ) );
    	$new_url = strtolower($new_url);
    	
    	// Was still getting cases of double hyphens
    	$new_url = str_replace( "--", "-", $new_url );
    	
    	return $new_url;
    	
    }// end function - cleanUrl

    Спасаю "Говнокод.ру" пехапе шедевром.

    Yurik, 27 Ноября 2010

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

    +144

    1. 1
    2. 2
    3. 3
    4. 4
    while(sizeof($data)>sizeof($head)) {
    		$data[sizeof($data)-2].=$data[sizeof($data)-1];
    		unset($data[sizeof($data)-1]);
    	}

    кусочек моего скрипта разовой работы, накиданного на скорую руку(неудивительно, что он выполнялся 2 минуты).
    думаю, всем понятен смысл этого кусочка = )

    Lure Of Chaos, 27 Ноября 2010

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

    +144

    1. 1
    2. 2
    3. 3
    <?php
    echo "<html><head><meta http-equiv='Refresh' content='0; url=index.php'></head></html>";
    ?>

    Народ, мне сегодня на собеседовании сказали, что такой редирект - это говнокод. Эт правда?

    master_olegi, 26 Ноября 2010

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