WAF规则参数
WAF规则参数为WAF检查规则过程中的被检查项。
通用请求报头长度限制
- 名称:通用请求报头长度限制
- 代号:
${requestGeneralHeaderLength}
- 描述:通用报头比如Cache-Control、Accept之类的长度限制,防止缓冲区溢出攻击。
通用响应报头长度限制
- 名称:通用响应报头长度限制
- 代号:
${responseGeneralHeaderLength}
- 描述:通用报头比如Cache-Control、Date之类的长度限制,防止缓冲区溢出攻击。
客户端地址(IP)
- 名称:客户端地址(IP)
- 代号:
${remoteAddr}
- 描述:试图通过分析X-Forwarded-For等报头获取的客户端地址,比如192.168.1.100,存在伪造的可能。
客户端源地址(IP)
- 名称:客户端源地址(IP)
- 代号:
${rawRemoteAddr}
- 描述:直接连接的客户端地址,比如192.168.1.100。
客户端端口
- 名称:客户端端口
- 代号:
${remotePort}
- 描述:直接连接的客户端地址端口。
客户端用户名
- 名称:客户端用户名
- 代号:
${remoteUser}
- 描述:通过BasicAuth登录的客户端用户名。
请求URI
- 名称:请求URI
- 代号:
${requestURI}
- 描述:包含URL参数的请求URI,类似于 /hello/world?lang=go,不包含域名部分。
请求路径
- 名称:请求路径
- 代号:
${requestPath}
- 描述:不包含URL参数的请求路径,类似于 /hello/world,不包含域名部分。
请求文件扩展名
- 名称:请求文件扩展名
- 代号:
${requestFileExtension}
- 描述:请求路径中包含的文件扩展名,不含点(.)符号,比如css、js、png等。
- 版本:v1.0.4
请求完整URL
- 名称:请求完整URL
- 代号:
${requestURL}
- 描述:完整的请求URL,包含协议、域名、请求路径、参数等,类似于 https://example.com/hello?name=lily 。
请求内容长度
- 名称:请求内容长度
- 代号:
${requestLength}
- 描述:请求报头中的Content-Length。
请求体内容
- 名称:请求体内容
- 代号:
${requestBody}
- 描述:通常在POST或者PUT等操作时会附带请求体,最大限制32M。
请求URI和请求体组合
- 名称:请求URI和请求体组合
- 代号:
${requestAll}
- 描述:${requestURI}和${requestBody}组合。
请求表单参数
- 名称:请求表单参数
- 代号:
${requestForm}
- 描述:获取POST或者其他方法发送的表单参数,最大请求体限制32M。
上传文件
- 名称:上传文件
- 代号:
${requestUpload}
- 描述:获取POST上传的文件信息,最大请求体限制32M。
请求JSON参数
- 名称:请求JSON参数
- 代号:
${requestJSON}
- 描述:获取POST或者其他方法发送的JSON,最大请求体限制32M,使用点(.)符号表示多级数据。
请求方法
- 名称:请求方法
- 代号:
${requestMethod}
- 描述:比如GET、POST。
请求协议
- 名称:请求协议
- 代号:
${scheme}
- 描述:比如http或https。
HTTP协议版本
- 名称:HTTP协议版本
- 代号:
${proto}
- 描述:比如HTTP/1.1。
主机名
- 名称:主机名
- 代号:
${host}
- 描述:比如example.com。
CNAME
- 名称:CNAME
- 代号:
${cname}
- 描述:当前网站服务CNAME,比如38b48e4f.example.com。
是否为CNAME
- 名称:是否为CNAME
- 代号:
${isCNAME}
- 描述:是否为CNAME,值为1(是)或0(否)。
请求来源
- 名称:请求来源
- 代号:
${refererOrigin}
- 描述:请求报头中的Referer和Origin值。
请求来源Referer
- 名称:请求来源URL
- 代号:
${referer}
- 描述:请求报头中的Referer值。
客户端信息
- 名称:客户端信息
- 代号:
${userAgent}
- 描述:比如Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103。
内容类型
- 名称:内容类型
- 代号:
${contentType}
- 描述:请求报头的Content-Type。
所有cookie组合字符串
- 名称:所有cookie组合字符串
- 代号:
${cookies}
- 描述:比如sid=IxZVPFhE&city=beijing&uid=18237。
单个cookie值
- 名称:单个cookie值
- 代号:
${cookie}
- 描述:单个cookie值。
所有URL参数组合
- 名称:所有URL参数组合
- 代号:
${args}
- 描述:比如name=lu&age=20。
单个URL参数值
- 名称:单个URL参数值
- 代号:
${arg}
- 描述:单个URL参数值。
所有请求报头内容
- 名称:所有请求报头内容
- 代号:
${headers}
- 描述:使用换行符(\n)隔开的报头内容字符串,每行均为”NAME: VALUE格式”。
所有请求报头名称
- 名称:所有请求报头名称
- 代号:
${headerNames}
- 描述:使用换行符(\n)隔开的报头名称字符串,每行一个名称。
单个请求报头值
- 名称:单个请求报头值
- 代号:
${header}
- 描述:单个报头值。
请求报头最大长度
- 名称:请求报头最大长度
- 代号:
${headerMaxLength}
- 描述:最长的请求报头的长度。
国家/地区名称
- 名称:国家/地区名称
- 代号:
${geoCountryName}
- 描述:当前客户端所处国家/地区名称。
省份名称
- 名称:省份名称
- 代号:
${geoProvinceName}
- 描述:当前客户端所处中国省份名称。
城市名称
- 名称:城市名称
- 代号:
${geoCityName}
- 描述:当前客户端所处中国城市名称。
ISP名称
- 名称:ISP名称
- 代号:
${ispName}
- 描述:当前客户端所处ISP名称。
CC统计
- 名称:CC统计
- 代号:
${cc}
- 描述:对统计对象进行统计。
防盗链
- 名称:防盗链
- 代号:
${refererBlock}
- 描述:对统计对象进行统计。
响应状态码
- 名称:响应状态码
- 代号:
${status}
- 描述:响应状态码,比如200、404、500。
响应报头
- 名称:响应报头
- 代号:
${responseHeader}
- 描述:响应报头值。
响应内容
- 名称:响应内容
- 代号:
${responseBody}
- 描述:响应内容字符串。
响应内容长度
- 名称:响应内容长度
- 代号:
${bytesSent}
- 描述:响应内容长度,通过响应的报头Content-Length获取。