html_sanitize_url_protocol

Директива html_sanitize_url_protocol задаёт разрешённые протоколы URL для ссылок в очищенном HTML-контенте.

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

Описание

Директива html_sanitize_url_protocol является частью модуля HTML-санитизации NGINX и предназначена для обеспечения того, чтобы в очищенном HTML-выводе допускались только протоколы URL из белого списка. Эта директива особенно полезна в приложениях, где обрабатывается контент, созданный пользователями, помогая предотвращать потенциальные риски безопасности, связанные с вредоносными ссылками. Явно указывая, какие протоколы разрешены (например, http, https), директива фильтрует URL и предотвращает включение вредоносного содержимого, удаляя любые ссылки, которые не соответствуют указанным протоколам.

Вы можете указать несколько разрешённых протоколов, перечислив их как аргументы этой директивы. При обработке входящего запроса сервер сверяет каждый URL, присутствующий в очищенном HTML-контенте, со списком разрешённых протоколов. Если протокол конкретной ссылки не включён в этот список, ссылка отбрасывается в процессе санитизации. Это повышает безопасность, минимизируя влияние ненадёжных или небезопасных протоколов, при этом сохраняя функциональность пользовательского контента, соответствующего установленным стандартам.

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

location /sanitize {
    html_sanitize;
    html_sanitize_url_protocol http https;
}

Убедитесь, что указан по крайней мере один протокол; в противном случае никакие URLs не будут разрешены.

Если вы указываете несколько протоколов, они должны быть разделены пробелами.

Директива применяется только к атрибутам, принимающим значения URL, таким как href и src.

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