Есть ли какие либо проблемы с использованием данного кода для фильтрации запросов? Если да, то какие. Использую PHP + MySQL. В данный момент это самый безопасный (инхо) метод фильтрации запросов который я нашёл. Инклуд в начало каждого скрипта который обрабатывает запросы. Спасибо. PHP: function antixss($str) { $str = htmlentities($str, ENT_QUOTES); return $str; } foreach($_POST as $name => $value) { $_POST[$name] = antixss($value);} foreach($_GET as $name => $value) { $_GET[$name] = antixss($value);} P.S. Если минусов нет, то почему все не пользуются этой функцией?
самое банальное, если у тебя запрос типа: Code: SELECT * from table where id=$_GET['id'] то толку от твоей функции ноль А также если в скрипте юзаются бинарно зависимые функции, она не спасет. Например инклуд (на %00 не отреагирует)
От хсс тоже не всегда спасет. Представим что у тебя скрипт обрабатывает этой функцией бб коды. например: Code: [colo r=$_GET['color']]$_GET['text'][/ color] превращается в Code: <font style="color: $_GET['color']">$_GET['text']</font> Вот хсс: Code: [colo r=green; background:url\(javascript:eval(alert(1))]qe[/ color] будет: Code: <font style="color: green; background:url\(javascript:eval(alert(1)))">qe</font>
Потому что это бред полный. Ты портишь входящие данные. Данные портить нельзя. Данные надо правильно использовать.