Нужно ли использовать HTML-очиститель, если я удаляю теги / конвертируя их в объекты HTML?

В настоящее время я работаю над проектом, где данные считываются из текстового поля и загружаются в базу данных mysql. Мой вопрос: действительно ли мне нужно использовать html-очиститель для предотвращения инъекций mysql или любых атак, если я уже удаляю html-теги или конвертирует их в сущности?

Вам нужно добавить escape-кавычки (добавляет функцию php).

Чтобы защитить от инъекций mysql, вы должны использовать подготовленные инструкции .

Для других атак, хорошо для XSS вам нужно выполнить правильное выходное экранирование. Это немного больше куска пирога. Мэтт Робинсон написал хорошее введение в концепцию . Pádraic Brady указывает, что это не так просто и в конечном итоге предлагает использовать обертку вокруг htmlspecialchars, как Twig do. У Zend также есть экранирующая библиотека, и оба они вдохновлены кодом ссылки ESAPI, который, к сожалению, не имеет готовой версии для php .

Обратите внимание, что все библиотеки позволяют запятой проходить через контекст javascript, который, по моему мнению, является уязвимостью.

Если вы не хотите принимать входные данные html, и вы в порядке, просто удалив html-теги, вам не нужно использовать html-очиститель .