WAF规则参数

WAF规则参数为WAF检查规则过程中的被检查项。

通用请求Header长度限制

  • 名称:通用请求Header长度限制
  • 代号:${requestGeneralHeaderLength}
  • 描述:通用Header比如Cache-Control、Accept之类的长度限制,防止缓冲区溢出攻击

通用响应Header长度限制

  • 名称:通用响应Header长度限制
  • 代号:${responseGeneralHeaderLength}
  • 描述:通用Header比如Cache-Control、Date之类的长度限制,防止缓冲区溢出攻击

客户端地址(IP)

  • 名称:客户端地址(IP)
  • 代号:${remoteAddr}
  • 描述:试图通过分析X-Forwarded-For等Header获取的客户端地址,比如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,不包含域名部分

请求完整URL

请求内容长度

  • 名称:请求内容长度
  • 代号:${requestLength}
  • 描述:请求Header中的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}
  • 描述:比如goedge.cn

CNAME

  • 名称:CNAME
  • 代号:${cname}
  • 描述:当前网站服务CNAME,比如38b48e4f.goedge.cn

是否为CNAME

  • 名称:是否为CNAME
  • 代号:${isCNAME}
  • 描述:是否为CNAME,值为1(是)或0(否)

请求来源URL

  • 名称:请求来源URL
  • 代号:${referer}
  • 描述:请求Header中的Referer值

客户端信息

  • 名称:客户端信息
  • 代号:${userAgent}
  • 描述:比如Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103

内容类型

  • 名称:内容类型
  • 代号:${contentType}
  • 描述:请求Header的Content-Type
  • 名称:所有cookie组合字符串
  • 代号:${cookies}
  • 描述:比如sid=IxZVPFhE&city=beijing&uid=18237
  • 名称:单个cookie值
  • 代号:${cookie}
  • 描述:单个cookie值

所有URL参数组合

  • 名称:所有URL参数组合
  • 代号:${args}
  • 描述:比如name=lu&age=20

单个URL参数值

  • 名称:单个URL参数值
  • 代号:${arg}
  • 描述:单个URL参数值

所有Header信息

  • 名称:所有Header信息
  • 代号:${headers}
  • 描述:使用\n隔开的Header信息字符串

单个Header值

  • 名称:单个Header值
  • 代号:${header}
  • 描述:单个Header值

国家/地区名称

  • 名称:国家/地区名称
  • 代号:${geoCountryName}
  • 描述:国家/地区名称

省份名称

  • 名称:省份名称
  • 代号:${geoProvinceName}
  • 描述:中国省份名称

城市名称

  • 名称:城市名称
  • 代号:${geoCityName}
  • 描述:中国城市名称

ISP名称

  • 名称:ISP名称
  • 代号:${ispName}
  • 描述:ISP名称

CC统计

  • 名称:CC统计
  • 代号:${cc2}
  • 描述:对统计对象进行统计

防盗链

  • 名称:防盗链
  • 代号:${refererBlock}
  • 描述:对统计对象进行统计

CC统计(旧)

  • 名称:CC统计(旧)
  • 代号:${cc}
  • 描述:统计某段时间段内的请求信息(请使用新的CC统计代替)

响应状态码

  • 名称:响应状态码
  • 代号:${status}
  • 描述:响应状态码,比如200、404、500

响应Header

  • 名称:响应Header
  • 代号:${responseHeader}
  • 描述:响应Header值

响应内容

  • 名称:响应内容
  • 代号:${responseBody}
  • 描述:响应内容字符串

响应内容长度

  • 名称:响应内容长度
  • 代号:${bytesSent}
  • 描述:响应内容长度,通过响应的Header Content-Length获取