
# 条件字段说明
您在设置**CC攻击防护规则** 、**精准访问防护规则** 或**全局白名单规则** 时，需要在规则中添加**条件**字段，定义要匹配的请求特征。本文介绍了规则匹配条件支持使用的字段及其释义。
#### 什么是条件字段
条件字段指需要WAF检测的请求特征。您在设置[CC攻击防护规则](https://support.huaweicloud.com/usermanual-waf/waf_01_0009.html)、[精准访问防护规则](https://support.huaweicloud.com/usermanual-waf/waf_01_0010.html)或[配置全局白名单规则](https://support.huaweicloud.com/usermanual-waf/waf_01_0016.html)时，通过定义条件字段，指定要检测的请求特征。
如果某个请求满足规则中设置的条件，则该请求命中对应规则。WAF会依据规则中设置的规则动作，对请求执行相应处置（例如，放行、拦截、仅记录等）。
图1条件字段   
![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002121808986.png "点击放大")
条件字段由**字段** 、**子字段** 、**逻辑** 、**内容**组成。配置示例如下：
- 示例1："字段"为"路径"、"逻辑"为"包含"、内容为"/admin"，表示被请求的路径包含"/admin"时，则请求命中该规则。
- 示例2："字段"为"IPv4"、"子字段"为"客户端IP"、"逻辑"为"等于"、内容为"192.XX.XX.3"，表示当发起连接的客户端IP为192.XX.XX.3时，则请求命中该规则。
 
#### 支持的条件字段
表1条件列表配置 
| 字段                        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | 子字段                                                                                                                                                                                                                                                                                                                                  | 逻辑                                                                                                                                                                                                                                                                                                                                                                                                                     | 内容（举例）                                                                                    |
|:---|:---|:---|:---|:---|
| **路径**                    | 客户端请求的资源路径（即URL中的路径部分）。 配置说明： - 不包含域名，仅支持精准匹配，即要防护的路径需要与此处填写的路径完全相等。例如，需要防护的路径为"/admin"，该规则必须填写为*/admin*。  - 路径设置为"/"时，表示防护网站所有路径。  - 配置的"路径"的"内容"不能包含特殊字符（\<\>\*）。                                                                      | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为  - 包含任意一个、不包含任意一个、等于任意一个、不等于任意一个、前缀为任意一个、前缀不为任意一个、后缀为任意一个、后缀不为任意一个  - 长度等于、长度不等于、长度大于、长度小于                  | /buy/phone/                                                                               |
| **User Agent**            | 客户端类型（例如浏览器、爬虫、移动应用等）。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为  - 包含任意一个、不包含任意一个、等于任意一个、不等于任意一个、前缀为任意一个、前缀不为任意一个、后缀为任意一个、后缀不为任意一个  - 长度等于、长度不等于、长度大于、长度小于                  | *Mozilla/5.0 (Windows NT 6.1)*                                                            |
| **Referer**               | 请求访问的来源，如果用户不希望访问者从"www.test.com"访问该页面，则"Referer"对应的"内容"设置为"http://www.test.com"。                                                                                                                                                                                                                                                                                                                                                                                                                                             | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为  - 包含任意一个、不包含任意一个、等于任意一个、不等于任意一个、前缀为任意一个、前缀不为任意一个、后缀为任意一个、后缀不为任意一个  - 长度等于、长度不等于、长度大于、长度小于                  | "/admin/xxx"                                                                              |
| **IPv4**                  | 客户端IPv4地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | - 客户端IP  - X-Forwarded-For  - TCP连接IP  - 3层源IP   | 支持以下逻辑关系： - 等于、不等于  - 等于任意一个、不等于任意一个                                                                                                                                                                                                                            | *192.168.1.1*                                                                             |
| **IPv6**                  | 客户端IPv6地址。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    | - 客户端IP  - X-Forwarded-For  - TCP连接IP  - 3层源IP   | 支持以下逻辑关系： - 等于、不等于  - 等于任意一个、不等于任意一个                                                                                                                                                                                                                            | *fe80:0000:0000:0000:0000:0000:0000:0000*                                                 |
| **Params**                | URL中的查询参数，即问号（?）后的内容。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | - 所有子字段  - 任意子字段  - 自定义                                                                                            | 支持以下逻辑关系： - 包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为  - 包含任意一个、不包含任意一个、等于任意一个、不等于任意一个、前缀为任意一个、前缀不为任意一个、后缀为任意一个、后缀不为任意一个  - 长度等于、长度不等于、长度大于、长度小于、个数不等于、个数大于、个数小于、存在、不存在   | *201901150929*                                                                            |
| **Cookie**                | 请求中的Cookie值。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  | - 所有子字段  - 任意子字段  - 自定义                                                                                           | 支持以下逻辑关系： - 包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为  - 包含任意一个、不包含任意一个、等于任意一个、不等于任意一个、前缀为任意一个、前缀不为任意一个、后缀为任意一个、后缀不为任意一个  - 长度等于、长度不等于、长度大于、长度小于、个数不等于、个数大于、个数小于、存在、不存在   | *jsessionid*                                                                              |
| **Header**                | 请求头内容。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | - 所有子字段  - 任意子字段  - 自定义                                                                                       | 支持以下逻辑关系： - 包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为  - 包含任意一个、不包含任意一个、等于任意一个、不等于任意一个、前缀为任意一个、前缀不为任意一个、后缀为任意一个、后缀不为任意一个  - 长度等于、长度不等于、长度大于、长度小于、个数不等于、个数大于、个数小于、存在、不存在   | *text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,\*/\*;q=0.8* |
| **Method**                | 请求方法。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 等于  - 不等于                                                                                                                                                                                                          | *GET* 、*POST* 、*PUT* 、*DELETE* 、*PATCH*                                                   |
| **Protocol**              | 请求协议。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 等于  - 不等于                                                                                                                                                                                                          | "HTTP"、"HTTPS"                                                                            |
| **Request Line**          | 请求行长度，要求为0\~65,535的整数。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 长度等于  - 长度不等于  - 长度大于  - 长度小于                                                                 | *50*。                                                                                     |
| **Request**               | 请求长度，要求为0\~2,147,483,647的整数。 **云模式-ELB接入** 模式下，该字段支持的最大数值为**4,000** **Byte**。超过该值后，不生效。                                                                                                                                                                                                                                                                                                                                                                                                       | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 长度等于  - 长度不等于  - 长度大于  - 长度小于                                                                 | *50*                                                                                      |
| **Response Length**       | 请求返回的响应长度，要求为0\~2,147,483,647的整数。 - 响应检测发生在响应头返回之后。当需要拦截时，可能无法修改响应头。  - 由于响应体是流式发送，WAF无法改变已发出的响应体，因此会保留源站响应体。                                                                                                                                                                                                                    | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 长度等于  - 长度不等于  - 长度大于  - 长度小于                                                     | *50*                                                                                      |
| **Response Time**         | 响应时间，要求为0\~60,000的整数，单位为毫秒（ms）。 - 响应检测发生在响应头返回之后。当需要拦截时，可能无法修改响应头。  - 由于响应体是流式发送，WAF无法改变已发出的响应体，因此会保留源站响应体。                                                                                                                                                                       | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 长度等于  - 长度不等于  - 长度大于  - 长度小于                                                     | *100*                                                                                     |
| **地理位置**                  | 访问者（客户端）的地理位置信息。 说明： 该字段需[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)申请开通。                                                                                                                                                                                                                                                                                                                  | - IPv4  - IPv6  - 任意（IPv4和IPv6）                                                                                     | 支持以下逻辑关系： - 属于  - 不属于                                                                                                                                                                                                           | "上海"                                                                                      |
| **已知特征爬虫**                | 常见的网络爬虫。 - 搜索引擎  - 扫描器  - 脚本工具  - 其他爬虫   说明： 该字段需[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)申请开通。 | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 匹配  - 不匹配                                                                                                                                                                                                       | 搜索引擎                                                                                      |
| **Response Code**         | 请求返回的状态代码。 满足限速条件之后的请求，同周期内将不再判断HTTP返回码条件。                                                                                                                                                                                                                                                                                                                                                                                                                                                       | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 等于、不等于  - 等于任意一个、不等于任意一个                                                                                                                                                                                          | *404*                                                                                     |
| **Response Header**       | 响应头。 响应检测发生在响应头返回之后，当需要拦截时，可能无法修改响应头。                                                                                                                                                                                                                                                                                                                                                                                                                                                             | - 所有子字段  - 任意子字段  - 自定义                                                                                                | 支持以下逻辑关系： - 包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为    - 包含任意一个、不包含任意一个、等于任意一个、不等于任意一个、前缀为任意一个、前缀不为任意一个、后缀为任意一个  - 正则匹配、正则不匹配     | --                                                                                        |
| **Response Body**         | 响应的消息体。 响应检测发生在响应头返回之后，当需要拦截时，可能无法修改响应头。                                                                                                                                                                                                                                                                                                                                                                                                                                                         | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 包含、不包含  - 包含任意一个、不包含任意一个                                                                                                                                                                                     | --                                                                                        |
| **Request Body**          | 请求的消息体。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 包含、不包含  - 包含任意一个、不包含任意一个                                                                                                                                                                                                 | --                                                                                        |
| **TLS指纹（JA3）**            | 通过TLS握手生成的客户端JA3指纹，用于识别设备类型、恶意工具等。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 等于、不等于  - 等于任意一个、不等于任意一个                                                                                                                                                                | "X-Forwarded-Tls-Ja3"                                                                     |
| **TLS指纹（JA4）**            | 通过TLS握手生成的客户端JA4指纹，用于识别设备类型、恶意工具等。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 等于、不等于  - 等于任意一个、不等于任意一个                                                                                                                                                                | "X-Forwarded-Tls-Ja4"                                                                     |
| **Header Content Length** | 请求头内容长度，要求为0\~2,147,483,647的整数。 **云模式-ELB接入** 模式下，该字段支持的最大数值为**4,000** **Byte**。超过该值后，不生效。                                                                                                                                                                                                                                                                                                                                                                                                        | --                                                                                                                                                                                                                                                                                                                                   | 支持以下逻辑关系： - 数值大于  - 数值等于  - 数值小于                                                                                                                                   | *123*                                                                                     |
| 说明： - "逻辑"为"包含任意一个"、"不包含任意一个"、"等于任意一个"、"不等于任意一个"、"前缀为任意一个"、"前缀不为任意一个"、"后缀为任意一个"、"后缀不为任意一个"时，"内容"支持选择"引用表"。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。  - **包含/不包含** 、**等于/不等于** 、**前缀为/前缀不为** 、**后缀为/后缀不为** 匹配位置说明（以匹配值为"abc"为例）： - **包含/不包含** ：匹配字段任意位置。当规则配置为**包含**"abc"时，包含"abc"的请求，例如"xabc123"，即会命中规则。  - **等于/不等于** ：匹配的字段完全一致。当规则配置为**等于**"abc"时，请求完全与"abc"一致，则命中规则；请求不完全一致，例如"abc123"，则不会命中规则。  - **前缀为/前缀不为** ：匹配字段开头。当规则配置为**前缀为**"/abc"时，以"/abc"开头的请求，例如/abc、/abc/login，即会命中规则。  - **后缀为/后缀不为** ：匹配字段结尾。当规则配置为**后缀为**"abc123"时，以"abc123"结尾的请求，即会命中规则。                                                                                                                                                                                                                                                                                                                                             |||||
   
