Jump to content

HTML-дезинфекция

В данных очистке очистка HTML — это процесс проверки HTML- документа и создания нового HTML-документа, в котором сохраняются только те теги и атрибуты, которые обозначены как «безопасные» и желательные. Очистку HTML можно использовать для защиты от таких атак, как межсайтовый скриптинг (XSS), путем очистки любого HTML-кода, отправленного пользователем.

Подробности

[ редактировать ]

Часто допускаются базовые теги для изменения шрифтов, например <b>, <i>, <u>, <em>, и <strong> в то время как более продвинутые теги, такие как <script>, <object>, <embed>, и <link> удаляются в процессе санитарной обработки. Также потенциально опасные атрибуты, такие как onclick Атрибуты удаляются, чтобы предотвратить внедрение вредоносного кода.

Санитизация обычно выполняется с использованием либо белого , либо черного списка . Исключение безопасного HTML-элемента из белого списка не так уж и серьезно; это просто означает, что эта функция не будет включена после санитарной обработки. С другой стороны, если небезопасный элемент исключен из черного списка, уязвимость не будет удалена из вывода HTML. Поэтому устаревший черный список может быть опасным, если в стандарт HTML были введены новые, небезопасные функции.

Дальнейшая очистка может выполняться на основе правил, определяющих, какую операцию следует выполнить над тегами субъектов. Типичные операции включают удаление самого тега с сохранением содержимого, сохранение только текстового содержимого тега или принудительное присвоение атрибутам определенных значений. [1]

Реализации

[ редактировать ]

В PHP очистку HTML можно выполнить с помощью strip_tags() функция с риском удаления всего текстового содержимого после незакрытого символа «меньше» или угловой скобки. [2] Библиотека HTML Purifier — еще один популярный вариант для PHP-приложений. [3]

В Java .NET ) очистку можно выполнить с помощью проекта OWASP Java HTML Sanitizer Project. [4]

В .NET ряд дезинфицирующих средств используют Html Agility Pack — анализатор HTML. [5] [6] [1] Другая библиотека — HtmlSanitizer. [7]

В JavaScript есть дезинфицирующие средства «только для JS» для серверной части и для браузера. [8] (DOM) браузера реализации, которые используют собственный анализатор объектной модели документа для анализа HTML (для повышения производительности).

  1. ^ Перейти обратно: а б «Хтмлрулесанитайзер» . Гитхаб . 13 августа 2021 г.
  2. ^ "strip_tags" . PHP.NET.
  3. ^ «HTML Purifier — фильтруйте ваш HTML в соответствии со стандартами!» . htmlpurifier.org .
  4. ^ «OWASP Java HTML Sanitizer» .
  5. ^ «Пакет HTML Agility Pack — Главная страница» . Архивировано из оригинала 1 января 2013 г. Проверено 4 января 2013 г.
  6. ^ «Сантизация белого списка с помощью HtmlAgilityPack» . 14 июня 2011 г.
  7. ^ Гансс, Майкл (5 декабря 2023 г.). «Хтмлсанитайзер» . Проверено 7 декабря 2023 г.
  8. ^ «JS HTML-дезинфицирующее средство» . Гитхаб . 14 октября 2021 г.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 831a1de2d5fc8543daafd3b714b9d266__1701932700
URL1:https://arc.ask3.ru/arc/aa/83/66/831a1de2d5fc8543daafd3b714b9d266.html
Заголовок, (Title) документа по адресу, URL1:
HTML sanitization - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)