denied_url
`denied_url` 指令指定一个或多个 URL 模式,这些模式将被 NGINX Anti XSS & SQL Injection 模块阻止。
NGINX Anti XSS & SQL Injection module
·
httpserverlocationlimit_except
语法denied_url string | regex;
默认值none
上下文http, server, location, limit_except
参数1+
说明
denied_url 指令在 NGINX Anti XSS & SQL Injection 模块 (NAXSI) 中是一个强大的功能,允许管理员定义应被拒绝访问的特定 URL 模式。通过使用此指令,可以添加一个或多个被应用程序视为潜在有害或指示攻击的模式,例如 SQL injection 或 cross-site scripting (XSS) 尝试。该指令可以放置在多个上下文中,包括 http、server、location 或 limit_except,从而在指定拒绝范围时提供灵活性。
当收到请求时,NAXSI 会将请求的 URL 与 denied_url 指令中定义的模式进行比对。如果匹配,NAXSI 将阻止该请求并作出相应响应,通常会产生错误消息或触发日志机制。该指令接受一个或多个参数,每个参数代表一个 URL 模式。这些模式必须谨慎编写,以避免无意中阻止合法请求,同时仍能保护应用程序免受常见攻击向量的影响。管理员可以利用 NAXSI 的日志功能来跟踪被阻止的请求,并通过将合法用户行为列入白名单来优化规则。正确配置 denied_url 对于在不影响可用性的前提下确保网站安全至关重要。
配置示例
server {
location / {
denied_url /evil-path;
denied_url /sqli_endpoint;
}
}⚠
确保模式不会意外匹配合法的 URLs,从而导致不必要的拦截。
⚠
对 regex 模式要谨慎,因为复杂的表达式可能对性能产生影响。
⚠
在将配置部署到生产环境之前,应先在预发布环境中进行测试,以避免意外中断。