Подтвердить что ты не робот

Есть ли хорошие HTML-фильтры на PHP?

В настоящее время я работаю над проектом с интерфейсом PHP. Мы очень обеспокоены безопасностью, потому что у нас будет довольно много пользователей и они станут привлекательной мишенью для хакеров. Наши пользователи могут отправлять содержимое в формате HTML, которое будет видно другим пользователям позже. Это большая проблема, потому что мы уязвимы для всего набора атак XSS. Мы фильтруем настолько хорошо, насколько можем, но разнообразие векторов атаки довольно велико.

Итак, я ищу решения для дезинфекции/фильтрации на основе PHP. Коммерческие решения являются прекрасными (даже предпочтительными). В настоящее время мы используем модифицированный очиститель HTML, но мы не удовлетворены результатами.

Каковы некоторые хорошие библиотеки/инструменты, способные фильтровать вредоносные части HTML?

Приятно иметь, например, осведомленность о HTML5, которая станет кошмаром безопасности, когда она будет доступна "в дикой природе".

Update: Мы делаем углубленную конфигурацию Очиститель HTML. Похоже, что прежняя структура, которую мы использовали раньше, просто не настраивала ее вообще. Теперь результаты выглядят намного лучше.

4b9b3361

Ответ 1

Проект очистки HTML

Лично у меня были очень хорошие результаты с Проект очистки HTML

Он очень настраиваемый и имеет огромную базу кода. Единственная проблема - загрузка файлов на ваш сервер.

Вы уверены, что у вас нет проблемы с конфигурацией при установке? Поскольку очиститель не должен пропускать какие-либо теги HTML вообще, если он настроен правильно.

На веб-сайте:

HTML-очиститель - это стандартно-совместимый Библиотека HTML-фильтра, написанная на PHP. Очиститель HTML не только удалит все вредоносный код (более известный как XSS) с тщательно проверенным,
безопасный, но разрешенный белый список, он также убедитесь, что ваши документы стандарты совместимы, что-то только достижимых с помощью всеобъемлющего знание спецификаций W3C.
Устали от использования BBCode из-за текущий пейзаж с недостатком или
небезопасные HTML-фильтры? У вас есть Редактор WYSIWYG, но так и не смог используй это? Ищем высококачественные, совместимый со стандартами, с открытым исходным кодом компоненты для этого приложения вы строите? Очиститель HTML предназначен для вы!

Я написал статью о том, как здесь можно использовать

Ответ 2

CodeIgniter имеет отличный фильтр XSS, вы можете вырвать его из системы/библиотек/файла Input.php, если хотите это как отдельная функция.

Ответ 3

kses работает хорошо. Вы можете легко указать, какие элементы разрешать и запрещать, поэтому сделать его "HTML5-aware" просто вопросом установки массива.

WordPress использует его, поэтому я догадываюсь, что он довольно безопасен;)

Ответ 4

Я могу порекомендовать kses для фильтрации HTML. Собственно, что использует Wordpress. Его свободный и открытый источник.

Ответ 5

Вы можете использовать свое текущее решение и добавить iframes с разными базовыми URL, чтобы показать содержимое. Изменение базового URL-адреса в iframe отключит доступ из внутреннего кода JavaScript на главную страницу. То есть, если ваш URL-адрес http://www.yoururl.com/thread/500 вы можете использовать его в iframe для показа содержимого, например: http//yoururl.com/thread/500/coment/1, http//yoururl.com/thread/500/coment/2.

Базовый URL, который вы можете установить, зависит от конфигурации вашего DNS/хоста.

Это не решение проблемы, а перескакивание, хотя оно может быть полезно, пока вы не найдете что-то еще.

Ответ 7

HTMLPurifier, вероятно, работает, но позвольте мне просто сказать, что структура папок слишком сложная и напыщенная. Сотни строк комментариев, папка под названием "тест", файл лицензии, файлы read-mes и инфо файлы, изображения, папка "ДРУГОЙ" для smoketesting (которая является совершенно оскорбительной), дополнения, конфиги, тесты и, прежде всего, около 10 различных режимов совместимости CMS, отзывы на их веб-сайте, полные версии, облегченные версии, хриплый, слегка пухлый, синдром и полный спектр политически правильных программных изменений.