17. mr.Z, htmlspecialchars() — конвертирует только специальные символы (’&’, ‘”‘, ”’, ‘<’ и ‘>’) в HTML сущности (’&’, ‘"’…).
Я считаю, что для удаления возможности быть атакованым xss методом одного htmlspecialchars() не достаточно, так как помимо выполнения HTML-кода, всегда есть возможность испытать скрипт на:
- XSS-нападение с использованием UTF-7 кодировки.
- XSS-нападение с помощью метода TRACE. - экзотика, да? зато работает
- XSS нападение через data
- XSS-нападение через Flash-анимаци. - ActionScript.
- XSS-DOM
- использование ошибок и критических уязаимостей в ПО для проведения XSS.
Добавлено через 02:25 сек.
К тому же если я не ошибаюсь, htmlspecialchars() не фильтрует знак процента "%" что позволяет выполнить команду, зашифрованую в URL сущность. Типа, %20UNION%20SELECT%20*%20FROM..