XSS-фильтр на PHP с DOMDocument и XPath
Навеяно http://habrahabr.ru/blogs/webdev/70903/ — много чего идеологически взято оттуда.
Но код там написан неудобно для меня, поэтому написал свой класс (3 класса) для фильтрации пользовательского контента.
Делает следующее: вырезает все неразрешённые теги, в разрешённых при этом удаляет все неразрешённые атрибуты.
После этого для всех ссылок на сторонние сайты проставляет атрибут target=»_blank». После этого проверяет все атрибуты всех тегов, где может встречаться ссылка (img src, к примеру) и если протокола нет среди разрешённых (используется parse_url), добавляется http://.
Работает небыстро.
Использовать при публиковании.
TagsStripper — здесь все классы
index — пример использования
TestTagsStripper — тесты
Similar Posts
LEAVE A COMMENT
Для отправки комментария вам необходимо авторизоваться.
One Response so far.