WikiDer > Очистка HTML
Эта статья нужны дополнительные цитаты для проверка. (Декабрь 2009 г.) (Узнайте, как и когда удалить этот шаблон сообщения) |
Очистка HTML это процесс изучения HTML document и создание нового HTML-документа, который сохраняет только те теги, которые обозначены как «безопасные» и желаемые. Очистка HTML может использоваться для защиты от таких атак, как межсайтовый скриптинг (XSS) путем дезинфекции любого HTML-кода, отправленного пользователем.
Часто разрешены базовые теги для изменения шрифтов, например <b>, <i>, <u>, <em>, и <strong> в то время как более продвинутые теги, такие как <script>, <object>, <embed>, и <link> удаляются в процессе дезинфекции. Также потенциально опасные атрибуты, такие как по щелчку удаляются, чтобы предотвратить внедрение вредоносного кода.
Санитарная обработка обычно выполняется с помощью белый список или черный список подход. Оставить безопасный HTML-элемент из белого списка не так уж и серьезно; это просто означает, что эта функция не будет включена после очистки. С другой стороны, если небезопасный элемент не включен в черный список, уязвимость не будет удалена из вывода HTML. Поэтому устаревший черный список может быть опасен, если в Стандарт HTML были добавлены новые небезопасные функции.
Дальнейшая дезинфекция может выполняться на основе правил, которые определяют, какая операция должна выполняться над тематическими тегами. Типичные операции включают удаление самого тега с сохранением содержимого, сохранение только текстового содержимого тега или принудительное присвоение определенных значений атрибутам.[1]
Реализации
В PHP, Очистку HTML можно выполнить с помощью strip_tags () работают с риском удаления всего текстового содержимого после незакрытого символа «меньше чем» или угловой скобки.[2] Библиотека HTML Purifier - еще один популярный вариант для приложений PHP.[3]
В Ява (и .СЕТЬ), дезинфекция может быть достигнута с помощью OWASP Проект Java HTML Sanitizer.[4]
В .СЕТЬ, ряд дезинфицирующих средств используют Html Agility Pack, анализатор HTML.[5][6][1]
В JavaScript есть дезинфицирующие средства "только JS" для задний конец, и на основе браузера[7] реализации, которые используют собственный парсер DOM браузера для анализа HTML (для повышения производительности).
Смотрите также
Рекомендации
- ^ а б https://github.com/Vereyon/HtmlRuleSanitizer
- ^ "strip_tags". PHP.NET.
- ^ http://www.htmlpurifier.org
- ^ https://www.owasp.org/index.php/OWASP_Java_HTML_Sanitizer_Project
- ^ http://htmlagilitypack.codeplex.com/
- ^ http://eksith.wordpress.com/2011/06/14/whitelist-santize-htmlagilitypack/
- ^ https://github.com/jitbit/HtmlSanitizer
| Этот Интернет-программного обеспечения-связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |