Ну так ты предоставь мне адрес сайта на этой псевдо защите и выражения выбирай.
Xupypr, вау.. ну обойди =) умница ты наша..
Такой горефильтр обходится на раз-два) да, и... идеальной защиты - нет))
У меня OOP + PDO, вообще похуй на SQL_INJ, а XSS крою при выводе данных с БД и то текстовых
Да уж... Посоветую тебе того же Зачем столько лишних строк? По твоей логике можно ваще без функций обойтись ты гляди на функцию тут насрать число у меня или нет тут фильтруется все, и гет и пост и куки и сессии можно и нет сотни строк что в коде приведенном автором
susano, омг... нет слов =) серъезно..бери учебник по пыху и беги читать =)
аргументируй
сравни
function check($msg) {
if (is_array($msg)) {
foreach($msg as $key => $val) {
$msg[$key] = check($val);
}
} else {
$msg = htmlspecialchars($msg);
$msg=trim(stripslashes($msg));
$msg=strip_tags($msg);
$msg=mysql_real_escape_string($msg);
$search = array(\'|\', \'\\\'\', \'$\', \'\\\\\', \'^\', \'%\', \'`\', \"\\0\", \"\\x00\", \"\\x1A\", \"??????\", \">\", \"<\"
$replace = array(\'|\', \''\', \'$\', \'\\', \'^\', \'%\', \'`\', \'\', \'\', \'\', \'\',\'>\',\'<\');
$msg = str_replace($search, $replace, $msg);
$msg = nl2br($msg);
}
return $msg;
}
и то гавно что выше
и перечитай мой пост ниже ещё раз
susano, ох какуюже ты херню щас сказану.. ой боже...
Куча повторяющихся строк... вот поэтому и придумали функции.
Главная прелесть функции check() в том что она может принимать сразу массив, причем не важно сколько у него вложений.
Ей пофиг сколько массивов внутри массива и сколько внутри тех, что внутри. Можешь попробовать если не веришь. И вся проверка сводится к простой строчке
$_GET = check($_GET);
а что там у GET внутри - не важно.