типичный говнокодец =) Код (PHP): if (!isset($_GET['action']) OR empty($_GET['action']) OR $_GET['action'] != 'show_desk') { header('Location: /'); } Давай рости! Всегда ищи что можно улучшить в своих знаниях и подходах.
Сразу видно Попов. А вообще это залепон... Проверка говно. Везде писать isset, empty... это бредово...
я просто на эмпти не проверяю обычно. если прислали - надо работать. ежели хочет человек пустую строку присылать, то нехай будет. =)
Здесь полный no pasaran Код (Text): if (isset($_GET['id'])) {$fid=$_GET['id'];if( (strlen($fid)<=3) and ctype_digit($fid) ... Просвятите насчет % и null .В PHP нет функции для этого?
Нашел такую жесткую штуку,может кому пригодится )) Код (Text): функция чистки GET запроса function filter_get($get_id){ $get_id = substr($get_id, 0, 7); //укорачиваем запрос до 7 знаков $get_id = preg_replace("/[^\w\x7F-\xFF\s]/", "", $get_id); # каленым железом выжжем все "ненормальные" символы $get_id = str_replace(chr(160), "", $get_id); //Удаляем неразрывные пробелы $get_id = preg_replace("/ +/", "", $get_id); //сжимаем двойные пробелы return $get_id; } $id = intval(filter_get($_GET['id'])); if ($id != "0" && is_int($id)){ // тут мой код } А я думал intval-a хватает ...
LOL! Вот это <матное слово>. Во первых $_GET['id'] Notice variable id Во вторых это, что за хлам <матное слово>? Код (PHP): $id=isset($_GET['id'])?$_GET['id']:''; $id=intval(preg_replace('/[^0-9]/','',$id)); echo $id; ?id=!:O%J;p5!@#%32 6%43%#@!*(%$h Вывод 532643
для инта хватает интвала. а если текст, то надо использовать ТОЛЬКО ОДНУ функцию. а не этот хлам сверху =) зачем он вообще написан и что он делает - загадка.
Когда начинал изучать php , копировал разный код где придется,для изучения. Код (Text): $id=preg_replace('/[^a-zA-Z0-9_]+/','',$id); Вот это тоже не плохо.
зачем так изъёбываться, если есть http://php.ru/manual/function.mysql-real-escape-string.html которую всё равно придётся применить.
Интересно поговорить со знающими людьми. Но многие забывают,что они тоже были когда-то не очень знающими.
эт фигня, это только начало. потом приходят знания о том, что бывает, что эта функция не спасает. вот тогда только понимание появится =) а еще есть миф про соль в хеше...
Функция форума и есть место,где понимающие,могли бы делиться своими пониманиями с непонимающими. Правда трудно иногда понять непонимающих понимаемым )) Но факт ,что инъекции главная на сегодня проблема для понимающих и не очень. Простой скрипт надо обвешивать кучей фильтров и подобных им,чтобы он был более менее безопасным. Код (Text): if(substr_count($myrow['text_comment'], ' ')<1){$text_comment=wordwrap($myrow['text_comment'],42,' ',1);} Код (Text): $fotoname=md5(time() . mt_rand()).".".$ext; Код (Text): function escape_inj ($text) { $text = strtolower($text); // Приравниваем текст параметра к нижнему регистру if ( !strpos($text, "select") && // !strpos($text, "union") && // !strpos($text, "select") && // !strpos($text, "order") && // Ищем вхождение слов в параметре !strpos($text, "where") && // !strpos($text, "char") && // !strpos($text, "from") // ) { return true; // Вхождений нету - возвращаем true } else { return false; // Вхождения есть - возвращаем false } } Это все простые и известные примеры с инета.Первый самописный.