У меня есть тематический портал на котором пользователи могут опубликовать свой материал.
Этот материал может содержать 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>