Очистка HTML - HTML sanitization
Эта статья нужны дополнительные цитаты для проверка.Декабрь 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
Этот Интернет -программного обеспечения -связанная статья является заглушка. Вы можете помочь Википедии расширяя это. |