# 内置变量
在书写 nginx.conf 文件的时候不可避免地需要用到一些变量,如$remote_addr可以用来获取客户端 IP 地址。
本模块增加了多个可用的变量。
不能和指令 `if` 共用
详见常见问题与解答。
# $waf_log
如果本次请求中防火墙进行了检查则不为空字符串,反之为空字符串。本变量主要用于 access_log 指令,详见 自定义日志格式。
# $waf_blocking_log
如果本次请求本被模块拦截则不为空字符串,反之则为空字符串。本变量主要用于 access_log 指令,详见 自定义日志格式。
# $waf_blocked
表示本次请求是否被本模块拦截,如果拦截了则其的值为'true',反之则为'false'。
# $waf_spend
表示本次检查花费了多少时间(毫秒),保留 5 位小数,舍入规则取决于具体 C 标准库的实现。
# $waf_rule_type
如果本次请求命中黑白名单规则,则其值为触发的规则类型。下面是可能的取值。若没有命中黑白名单规则则其值为''。
'CC-DENY''WHITE-IPV4''WHITE-IPV6''BLACK-IPV4''BLACK-IPV6''WHITE-URL''BLACK-URL''BLACK-ARGS''BLACK-USER-AGENT''WHITE-REFERER''BLACK-REFERER''BLACK-COOKIE''BLACK-POST''UNDER-ATTACK''FAKE-BOT''CAPTCHA'
# $waf_rule_details
如果本次请求被本模块拦截,则其值为触发的具体的规则的内容。若没有生效则其值为''。
# $waf_rate
一个整数,表示一个统计周期内当前 IP 的访问次数。