html_sanitize_iframe_url_protocol

Директива `html_sanitize_iframe_url_protocol` указывает допустимые протоколы URL для атрибутов iframe `src` в очищенном HTML.

Синтаксисhtml_sanitize_iframe_url_protocol protocol;
По умолчаниюnone
Контекстlocation
Аргументы1+

Описание

Директива html_sanitize_iframe_url_protocol является частью модуля NGINX HTML Sanitization, предназначенного для обеспечения безопасности путем ограничения протоколов, разрешенных в тегах <iframe>. Эта директива принимает один или несколько аргументов‑протоколов, что позволяет настроить стандарты безопасности для внешнего контента, внедряемого через iframe. При обработке запроса с HTML‑контентом директива гарантирует, что указанные протоколы проверяются применительно к источникам любых URL в iframe. Если протокол указанного источника iframe не совпадает с теми, что заданы директивой, iframe либо модифицируется (удаляется URL), либо полностью блокируется в зависимости от конфигурации.

Контекст этой директивы ограничен location, то есть она может быть определена внутри блока location в конфигурации NGINX. Эта возможность делает её универсальной для защиты конкретных маршрутов, позволяя задавать разные параметры безопасности для разных областей приложения. Указывая протоколы, такие как https или data, администраторы могут контролировать, к каким типам внешнего контента пользователи имеют доступ в браузере, тем самым защищая от внедрения вредоносного контента или проблем смешанного содержимого при безопасном просмотре.

При настройке директивы важно учитывать удобство пользователя наряду с безопасностью. Жёсткая политика, требующая использования только https, может защитить пользователей от проблем смешанного содержимого, но может затруднить работу некоторых сервисов, которые не поддерживают https. Поэтому при установке требований к протоколам критически важно балансировать безопасность и удобство использования.

Пример конфига

location /example {
    html_sanitize_iframe_url_protocol https;
}

Убедитесь, что перечислили все протоколы, которые хотите разрешить, поскольку любые пропущенные будут отклонены.

Сочетание этой директивы с html_sanitize_iframe_url_domain требует тщательного управления, чтобы избежать конфликтов.

← Ко всем директивам