Есть много разных подходов к XSS, которые являются безопасными. Единственная причина, по которой нужно знать, подходит ли ваш подход, состоит в том, чтобы проверить его в процессе эксплуатации. Я рекомендую использовать Бесплатный XSS сканер уязвимостей * или с открытым исходным кодом wapiti .
Если честно, я никогда не буду использовать strip_tags (), потому что вам не всегда нужны HTML-теги для выполнения JavaScript! Мне нравится htmlspecialchars($var,ENT_QUOTES);
.
Например, это уязвимо для xss:
print('<A HREF="http://www.xssed.com/'.strip_tags($_REQUEST[xss]).'">link</a>');
Вам не нужно <> выполнять javascript в этом случае, потому что вы можете использовать
Вот пример атаки:
$_REQUEST[xss]='" onMouseOver="alert(/xss/)"';
ENT_QUOTES позаботится о двойных кавычках, которые исправят эту уязвимость XSS.
* Я связан с этим сайтом / сервисом.