check_rule

`check_rule` 指令在 NGINX Anti XSS & SQL Injection 模块中用于根据指定条件将安全规则应用于 HTTP 请求。

语法check_rule rule_pattern1 [rule_pattern2 ...];
默认值none
上下文http, server, location, limit_except
参数1+

说明

check_rule 指令允许管理员指定一个或多个规则,NGINX 将对进入的请求评估这些规则。 这些规则通常与典型的 XSS (Cross-site Scripting) 或 SQL Injection 攻击特征模式相关。 该指令可在 httpserverlocationlimit_except 等不同上下文中使用,从而对规则的应用位置和方式进行细粒度控制。 默认情况下,模块使用一组预定义的常见模式来识别潜在漏洞,但管理员可以根据具体需求进一步配置这些规则。 当定义 check_rule 时,它期望以一个或多个规则模式作为参数。 每条规则会将输入拆分为可管理的组件,并将其与进入请求的数据(例如 URI、headers 或 body)进行比对评估。 如果发现匹配规则,模块可以触发防御性响应,例如阻止该请求或以不同方式路由,从而提供一层重要的安全防护。 这种行为帮助组织防止无意间暴露于关键漏洞之下,为常见的 Web 攻击构建稳健的防线。 此外,由于该指令是安全配置的一部分,它强调了持续管理的必要性;随着时间推移,合法流量模式可能会演变,管理员应定期审查并调整规则以减少误报并在保持安全性的同时提升站点可用性。

配置示例

location /submit {
    check_rule "