Лучший способ фильтрации XSS зависит от того, для какой платформы вы разрабатываете. Регулярные выражения могут быть полезны для предотвращения многих типов уязвимостей, но не всегда являются лучшими. Лучший способ предотвратить XSS в PHP - использовать htmlspeicalchars();
Например:
Светоотражающий XSS:
print $_GET['xss'];
Исправленный:
print htmlspecialchars($_GET['xss'],ENT_QUOTES);
Чтобы проверить это, мы можем попробовать выполнить JavaScript
http://127.0.0.1/xss.php?xss=<script>alert(/xss/)</script>
В первом примере мы получим всплывающее окно с надписью / xss /. В пропатченном примере будет отображена html безопасная версия строки:
предупреждение (/ XSS /)
Реальная проблема больше, чем <
и меньше, чем >
символов, если они заменены на <
и >
соответственно, тогда вы в безопасности от XSS.