Поможет ли эта функция от XSS инжекции(для $_GET) или че по хитрее нужно ? Код (PHP): <?php function protectXSS(){ foreach ($_GET as $v){ if(preg_match('#[^a-zA-Z0-9\_\.]#', $v)){ die("XSS blocked!"); } } }
Это регулярка на поиск всего кроме букв(латинских) цифр и нижнего слеша, если это найдено то срабатывает это условия!
Я думаю да, никаких тегов и лишних знаков этот регексп не пропустит. Даже не знаю как можно исхитриться чтобы обойти такой фильтр.
Всю информацию которую ты получил от пользователя можно записывать в базу в оригинальном виде используя подготовленные запросы, а вот при выводе пользовательских данных, нужно пропустить их через функцию которая любой html и javascript код, превратит в обычный текст. http://phpfaq.ru/tech/safety https://secure.php.net/manual/ru/function.htmlspecialchars.php