@IvanIF

Как защитить поле ввода, которое может содержать html-теги от XSS атак?

У меня есть тематический портал на котором пользователи могут опубликовать свой материал.
Этот материал может содержать HTML-теги, поэтому выводить его через функцию htmlspecialchars() нельзя.
Можно было бы фильтровать теги с помощью strip_tags(), но это не решает проблемы.
Как отфильтровать полученные данные и удалить атаки вот такого вида:
<body onload=alert('xss')>
<img src=javascript:alert('xss')>
<body background="javascript:alert('xss')" >
<meta http-equiv="refresh" content="0;url=javascript:alert('xss');">
<style type="text/javascript">alert('xss');</style>
  • Вопрос задан
  • 115 просмотров
Решения вопроса 1
Используйте DOMPurify
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
ну хоть функции пэхапэ указал , раз за тег забыл

оставляешь только разрещенные теги и проверяешь разбором xml на содержимое

таких тегов у тебя будет ровно один - img
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы