{{i18nTranslate('_layout.t11')}} {{i18nGetLang()==='zh' ? 'EN' : '中文'}}

# 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，不包含域名部分。

## 请求完整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值。
- 版本：v1.3.2

## 请求来源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）隔开的报头名称字符串，每行一个名称。
- 版本：v1.3.2

## 单个请求报头值

- 名称：单个请求报头值
- 代号：`${header}`
- 描述：单个报头值。

## 请求报头最大长度

- 名称：请求报头最大长度
- 代号：`${headerMaxLength}`
- 描述：最长的请求报头的长度。
- 版本：v1.3.9

## 国家/地区名称

- 名称：国家/地区名称
- 代号：`${geoCountryName}`
- 描述：当前客户端所处国家/地区名称。

## 省份名称

- 名称：省份名称
- 代号：`${geoProvinceName}`
- 描述：当前客户端所处中国省份名称。

## 城市名称

- 名称：城市名称
- 代号：`${geoCityName}`
- 描述：当前客户端所处中国城市名称。

## ISP名称

- 名称：ISP名称
- 代号：`${ispName}`
- 描述：当前客户端所处ISP名称。

## CC统计

- 名称：CC统计
- 代号：`${cc2}`
- 描述：对统计对象进行统计。

## 防盗链

- 名称：防盗链
- 代号：`${refererBlock}`
- 描述：对统计对象进行统计。

## CC统计（旧）

- 名称：CC统计（旧）
- 代号：`${cc}`
- 描述：统计某段时间段内的请求信息（不推荐再使用，请使用新的CC2统计代替）。

## 响应状态码

- 名称：响应状态码
- 代号：`${status}`
- 描述：响应状态码，比如200、404、500。

## 响应报头

- 名称：响应报头
- 代号：`${responseHeader}`
- 描述：响应报头值。

## 响应内容

- 名称：响应内容
- 代号：`${responseBody}`
- 描述：响应内容字符串。

## 响应内容长度

- 名称：响应内容长度
- 代号：`${bytesSent}`
- 描述：响应内容长度，通过响应的报头Content-Length获取。

{{i18nTranslate('_layout.t27')}}
{{i18nTranslate('_layout.t12')}}