Задать вопрос
@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>
  • Вопрос задан
  • 145 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Специалист по информационной безопасности: веб-пентест
    6 месяцев
    Далее
  • Merion Academy
    Онлайн-курс по кибербезопасности
    2 месяца
    Далее
  • Merion Academy
    Этичный хакинг
    4 месяца
    Далее
Решения вопроса 1
Используйте DOMPurify
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
ну хоть функции пэхапэ указал , раз за тег забыл

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

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

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

Похожие вопросы