Защита от XSS атак

У каждого разработчика настаёт момент, когда его целью является не только разработка программного продукта, но и обеспечения определённого уровня безопасности. На сайтах, которые не только отображают пользователю информацию внесённую администратором из панели управления, но так же принимают данные от пользователей и в последующем отображаются на сайте. Например, это могут быть комментарии. Задача усложняется когда необходимо прикрутить WYSIWYG редактор, который работает не на BB тегах, а на HTML-тегах. В этом случае необходимо фильтровать получаемые от пользователей данные, ведь заменить спец-символы на их html-сущности в этом случае не получится. Что бы не городить свой велосипед решил погуглить на эту тему и нашёл хороший инструмент на этот случай: HTMLpurifier.

Библиотека написанная на PHP, служит для очистки html от вредоносного кода. Библиотека проста в использовании, для начало необходимо её скачать и разместить в папке с сайтом. Подключение библиотеки выполняется следующим образом:

require_once('htmlpurifier/library/HTMLPurifier.auto.php');

Далее создаем экземпляр класса и вызываем метод purify, которому в качестве параметра передаём html-код, который необходимо почистить:

$purifier=new HTMLPurifier();
$clean_html=$purifier->purify($dirty_html);

На этом всё, более подробно можно почитать на официальном сайте.