html_sanitize_url_protocol
html_sanitize_url_protocol 指令指定在已清理的 HTML 内容中的链接所允许的 URL 协议。
NGINX module to sanitize HTML 5 with whitelisted elements, attributes and CSS
·
location
语法html_sanitize_url_protocol protocol [protocol ...];
默认值none
上下文location
参数1+
说明
html_sanitize_url_protocol 指令是 NGINX HTML 清理模块的一部分,旨在确保仅允许列入白名单的 URL 协议出现在已清理的 HTML 输出中。该指令在处理用户生成内容的应用中特别有用,能够帮助防止与恶意链接相关的潜在安全风险。通过显式定义允许的协议(例如 http、https),该指令对 URL 进行过滤,并通过移除任何不符合指定协议的链接来防止有害内容的包含。
您可以通过将多个允许的协议作为参数传递给该指令来配置多个允许协议。当服务器处理传入请求时,它会将已清理的 HTML 内容中存在的每个 URL 与允许协议列表进行比对。如果某个链接的协议不在此列表中,该链接将在清理过程中被丢弃。这在保留遵循定义标准的用户生成内容功能的同时,通过将暴露于不受信任或不安全协议的风险降到最低来增强安全性。
配置示例
location /sanitize {
html_sanitize;
html_sanitize_url_protocol http https;
}⚠
确保至少指定一个 protocol;否则将不允许任何 URLs。
⚠
如果指定多个 protocols,则必须用空格分隔。
⚠
该指令仅适用于接受 URL 值的 attributes,例如 href 和 src。