# 配置BOT管理防护规则防御机器行为
BOT管理设置四道防线：已知BOT检测、请求特征检测、BOT行为检测、主动特征检测。通过层层检测，精准识别并管理网站流量中的机器行为，有效降低网站由于遭受BOT攻击，而导致的数据泄露、性能降低等风险。
![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/note_3.0-zh-cn.png)
该功能正在公测中。请[提交工单](https://support.huaweicloud.com/usermanual-ticket/zh-cn_topic_0127038618.html)申请开通。公测结束后，具体收费信息将在计费说明中呈现。
#### 功能介绍
WAF BOT管理支持以下功能。
- [自定义防护目标]
  **用户标识**
  BOT管理默认使用基于IP的用户标识来分析和检测BOT行为。由于IP频繁变动（例如防盗刷场景），导致BOT管理无法准确识别用户行为，使得防护效果不够理想，尤其是慢速BOT攻击场景。为了提升防护准确性，可增加用户标识，通过配置特定的Cookie或Header字段，实现对用户行为的精准跟踪和异常检测。
  ![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/caution_3.0-zh-cn.png)
  该功能需要用户业务侧具备确定性用户标识字段，即Cookie或Header有字段，否则配置的用户标识无法生效。
  **防护目标特征**
  开启BOT管理后，WAF默认防护域名下的所有URL资源。如果您希望为特定业务场景（例如登录、注册等场景）配置BOT管理规则进行防护，您可以为BOT管理规则自定义防护对象。
  BOT管理支持匹配如下表所示条件的防护对象。
  表1条件列表 
  | 字段          | 字段说明                        | 子字段                     | 逻辑                                                                                                                                                                                                                                                                                                                              | 内容                                                                                                                                                                                                                                                                                                                                                                              |
  |:---|:---|:---|:---|:---|
  | **路径**       | 用于匹配客户端请求的资源路径，即URL中的路径部分。 | --                     | 支持以下逻辑关系：包含、不包含、等于、不等于、前缀为、前缀不为、包含任意一个、不包含任意一个、等于任意一个、不等于任意一个、前缀为任意一个、前缀不为任意一个 说明： 逻辑关系为**包含任意一个** 、**不包含任意一个** 、**等于任意一个** 、**不等于任意一个** 、**前缀为任意一个** 、**前缀不为任意一个** 时，"内容"支持选择已创建的引用表。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。 | 填写要防护的具体路径。配置说明： - 不包含域名，仅支持精准匹配，即要防护的路径需要与此处填写的路径完全相等。例如，需要防护的路径为"/admin"，该规则必须填写为"/admin"。  - 路径设置为"/"时，表示防护网站所有路径。  - 配置的"路径"的"内容"不能包含特殊字符（\<\>\*）。   |
  | **Method**  | 请求的方法。                        | --                     | 支持以下逻辑关系：等于、不等于                                                                                                                                                                                                                                                                                                                 | 填写请求的方法，例如GET、POST、PUT、DELETE、PATCH等。                                                                                                                                                                                                                                                                                                                                           |
  | **Cookie**   | 请求中的Cookie值。                  | 自定义子字段，长度范围为1到2,048个字符。 | 支持以下逻辑关系：包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为、存在、不存在、等于任意一个、不等于任意一个、不包含任意一个 说明： 逻辑关系为**等于任意一个** 、**不等于任意一个** 、**不包含** **任意一个** 时，"内容"支持选择已创建的引用表。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。                                                | 填写请求的Cookie值，例如jsessionid。                                                                                                                                                                                                                                                                                                                                                     |
  | **Header**  | 请求头内容。                        | 自定义子字段，长度范围为1到2,048个字符。 | 支持以下逻辑关系：包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为、存在、不存在、等于任意一个、不等于任意一个、不包含任意一个 说明： 逻辑关系为**等于任意一个** 、**不等于任意一个** 、**不包含** **任意一个** 时，"内容"支持选择已创建的引用表。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。                                                | 填写请求头内容，例如*text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,\*/\*;q=0.8*                                                                                                                                                                                                                                                                            |
  | **Params** | URL中的查询参数，即问号（?）后的内容。           | 自定义子字段，长度范围为1到2,048个字符。 | 支持以下逻辑关系：包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为、存在、不存在、等于任意一个、不等于任意一个、不包含任意一个 说明： 逻辑关系为**等于任意一个** 、**不等于任意一个** 、**不包含** **任意一个** 时，"内容"支持选择已创建的引用表。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。                                                | 填写查询参数内容，例如201901150929。                                                                                                                                                                                                                                                                                                                                                        |
  | **Referer**   | 请求访问的来源。                      | --                     | 支持以下逻辑关系：包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为、存在、不存在、等于任意一个、不等于任意一个、不包含任意一个 说明： 逻辑关系为**等于任意一个** 、**不等于任意一个** 、**不包含** **任意一个** 时，"内容"支持选择已创建的引用表。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。                                                | 填写请求的访问来源。例如：防护路径设置为"/admin/xxx"，如果用户不希望访问者从"www.test.com"访问该页面，则"Referer"对应的"内容"设置为"http://www.test.com"。                                                                                                                                                                                                                                                                     |
     
- [已知BOT检测]
  "已知BOT检测"是BOT检测的第一环节，它根据用户请求中携带的UA关键字，与BOT管理中的UA特征库进行比对。如果请求来自某种已知BOT（已知客户端），则按照配置的防护动作处置该请求。
  基于互联网开源的UA特征情报，结合WAF网站反爬虫的UA特征库，WAF支持10类已知BOT检测。
  
  | 类型               | 说明                                                                                                              |
  |:---|:---|
  | 搜索引擎机器人       | 搜索引擎利用网络爬虫聚合并索引在线内容（如网页、图像及其他类型的文件），为用户提供实时信息。                                                                |
  | 网络扫描机器人       | 网络扫描机器人，即病毒、漏洞扫描器，旨在评估和发现网络资产中是否存在病毒或因配置错误、编程缺陷而产生的漏洞，并进行攻击。比较典型的扫描器有Nmap、Sqlmap、WPSec等。                    |
  | 网页抓取工具        | 在网络上流行的爬虫工具或服务，常用于抓取任何网页并提取内容以满足使用者的需求。如Scrapy、pyspider、Prerender等。                                          |
  | 网站开发和监控服务机器人 | 部分公司利用机器人提供服务，帮助Web开发人员监控站点，以确保它们正常运行。这些机器人可以检查链接和域名的可用性、来自不同地理位置的连接和网页加载时间、DNS解析问题及其他功能。                   |
  | 商业分析和营销机器人      | 提供商业分析和营销服务的公司，利用机器人为用户评估网站内容，提供受众和竞争分析，支撑在线广告的投放和市场营销，优化网站或网页在搜索引擎结果中的排序。                                     |
  | 新闻和社交媒体机器人    | 新闻和社交媒体平台允许用户在线浏览热点资讯、分享想法和互动交流，许多企业的营销策略包括在这些网站上运营页面，与消费者就产品或服务进行互动。部分公司会利用机器人从这些平台中收集数据，用于媒体趋势和产品的洞察，丰富网络体验。 |
  | 屏幕快照机器人         | 部分公司利用机器人对外提供网站截图服务。它可以对网站、社交网络上的帖子、新闻、论坛/博客上的帖子等在线内容进行完整的长屏幕截图。                                             |
  | 学术和研究机器人       | 有些大学和公司会使用机器人从各种网站收集数据，用于学术或研究目的，包括参考文献搜索、语义分析、特定类型的搜索引擎等。                                                    |
  | RSS提要阅读器        | RSS使用标准的XML网络提要格式来发布内容。部分互联网服务利用机器人从RSS提要中聚合信息。                                                             |
  | 网络存档器           | 部分组织会使用机器人定期从网络中爬取并存档有价值的在线信息和内容副本，例如维基百科。这些网络存档服务与搜索引擎非常相似，但是提供的数据并不是最新的，它们的目的主要是用于研究。                     |
     
- [请求特征检测]
  "请求特征检测"是BOT检测的第二环节，它通过识别用户请求中的HTTP请求头域特征，匹配主流的开发框架和HTTP库、仿冒已知BOT、自动化程序来进行检测。如果请求符合某类BOT特征，则按照配置的防护动作处置该请求。
  
  | 类型           | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
  |:---|:---|
  | 异常的请求头     | 请求头不包含User-Agent或User-Agent为空。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
  | 仿冒已知BOT      | 开启后，将检测已知Bot请求的源IP是否符合其对应的合法客户端IP，防止攻击者仿冒。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
  | 开发框架和HTTP库 | 主流的开发框架和HTTP库，包含的详细特征如下： aiohttp、Apache-HttpClient、Apache-HttpAsyncClient、Commons-HttpClient、HttpComponents、PhantomJS、CakePHP、curl、Jetty、wget、http-kit、python-requests、Ruby、WebClient、WinHttpRequest、HttpUrlConnection、OxfordCloudService、http_request2、PEAR HTTPRequest、Python-urllib、RestSharp、Mojolicious (Perl)、PHP、libwww-perl、okhttp、HTMLParser、Go-http-client、axios、Dispatch、LibVLC、node-superagent、curb、Needle、IPWorks、lwp-trivial、Custom-AsyncHttpClient、Convertify、AsyncHttpClient、Embed PHP Library、Apache Synapse、node-fetch、electron-fetch、asynchttp、Dolphin http client、EventMachine HttpClient、httpunit、Zend_Http_Client、Python-httplib2、spray-can、http_requester、AndroidDownloadManager、bluefish、Java、git、Prerender.cloud |
  | 自动化程序      | 具有爬虫行为特征，但目的尚不明确的自动化程序。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
     
- [BOT行为检测]
  "BOT行为检测"是BOT检测的第三环节，通过AI智能防护引擎对请求进行分析和自动学习，根据设置的行为检测评分和防护动作处置BOT攻击行为。
  BOT行为检测设置三个行为检测评分区间。评分区间为0\~100，评分越接近0分表示请求特征越像正常请求，越接近100表示请求特征越像BOT。
  ![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/caution_3.0-zh-cn.png)
  开启"AI行为检测"后，单次请求可能会产生额外的检测时延。请在评估业务影响后启用。
- [主动特征检测]
  ![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/caution_3.0-zh-cn.png)
  - 主动特征检测目前仅支持Web浏览器业务。 开启前，请确认防护对象为Web浏览器客户端，或通过匹配条件将规则限制在仅允许Web浏览器访问的资源中，以免影响移动端App访问。
  
  - 主动特征检测目前仅兼容UTF8编码的HTML源站。为保障源站访问不受影响，建议在开启该功能前，先行核查源站HTML报文的编码属性（需为 UTF8）及内容类型（Content-Type 需设为 HTML）。
  
  - 本功能依赖浏览器的Cookie机制、JavaScript解析能力，如果客户端浏览器不支持Cookie，此功能无法使用。
  
  - 如果您的业务接入了CDN服务，请谨慎使用此功能。由于CDN缓存机制的影响，WAF的网站反爬虫特性将无法达到预期效果，并且有可能造成页面访问异常。
   
  "主动特征检测"是BOT检测的第四环节，通过在HTML响应中注入JS代码，采集并检测Web浏览器客户端运行环境和键鼠交互行为后，从而识别工具环境和正常请求的访客，并根据不同的**交互** **置信度**和防护动作处置BOT攻击行为。
  **交互** **置信度**表示一段时间内客户端产生的交互事件（例如键鼠行为）的频次。置信度越低表示客户端交互事件频率越低，该客户端越可能是一个自动化程序；反之，该客户端越可能是用户正常操作。
  置信度分为以下几种：
  - **不设置** ：不检测交互事件。例如**：**用户启用主动特征检测规则后，如果设置交互置信度为"不设置"，则不会对客户端的键鼠交互事件进行计数检测；如果设置交互置信度为低置信度，则拦截未产生键鼠交互事件的客户端。
  
  - **高**置信度：600s内，产生交互事件数超过10次。
  
  - **中**置信度：600s内，产生交互事件数超过5次。
  
  - **低**置信度：600s内，产生交互事件数超过0次。
  
  
  如果客户端第一次访问或超过600秒没有业务访问时，则放行该请求。
#### 约束条件
- 仅**云模式-CNAME接入**支持该功能。
 
#### 前提条件
已将网站接入WAF。具体操作，请参见[接入管理](https://support.huaweicloud.com/usermanual-waf/waf_01_1108.html)。
#### 配置BOT管理防护规则
1. [登录Web应用防火墙控制台](https://console.huaweicloud.com/waf/?locale=zh-cn)。
2. 在控制台左上角，单击![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002304713360.png)图标，选择区域或项目。
3. (可选) 如果您已开通企业项目，在左侧导航栏上方单击"按企业项目筛选"下拉框，选择您所在的企业项目。完成后，页面将为您展示该企业项目下的相关数据。
4. 在左侧导航栏，选择"防护策略 \> WAF核心防护"。
5. 在防护策略列表，单击目标策略名称，进入目标策略的防护规则配置页面。 
   您也可以在"资产管理 \> 防护对象"页面，单击目标域名"防护策略"列的"已开启防护项"后的数字，进入网站绑定的防护策略的规则配置页面。
   
   
6. 单击"BOT管理"配置框，开启BOT管理防护规则。 
   ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000001761737873.png)：开启状态。
   
   
7. 配置**用户标识** 。如果不配置用户标识，WAF将按照默认的IP用户标识来分析和检测BOT行为。
   
   1. 在"自定义防护目标"页签的"用户标识"处，单击"编辑"。
   
   2. 选择用户标识：
      - "Cookie"：设置Cookie字段名。完成后，WAF将基于Cookie用户标识来分析和检测BOT行为。
      
      - "Header"：设置Header字段名。完成后，WAF将基于Header用户标识来分析和检测BOT行为。
      
      - 不设置：WAF基于默认配置的IP用户标识来分析和检测BOT行为。
       
   
   
   
   
8. 配置**自定义防护目标** 。在"自定义防护目标"页签，单击"添加防护目标特征"，并配置目标特征匹配的"字段"、"子字段"、"逻辑"、"内容"后，单击"保存"。
   
   开启BOT管理后，WAF默认防护域名下的所有URL资源。如果您希望为特定业务场景（例如登录、注册等场景）配置BOT管理规则进行防护，您可以为BOT管理规则自定义防护对象。
   - BOT管理防护对象支持匹配如下表所示的条件。
     表2条件列表 
     | 字段          | 字段说明                        | 子字段                     | 逻辑                                                                                                                                                                                                                                                                                                                                          | 内容                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
     |:---|:---|:---|:---|:---|
     | **路径**       | 用于匹配客户端请求的资源路径，即URL中的路径部分。 | --                     | 支持以下逻辑关系：包含、不包含、等于、不等于、前缀为、前缀不为、包含任意一个、不包含任意一个、等于任意一个、不等于任意一个、前缀为任意一个、前缀不为任意一个 说明： 逻辑关系为**包含任意一个** 、**不包含任意一个** 、**等于任意一个** 、**不等于任意一个** 、**前缀为任意一个** 、**前缀不为任意一个** 时，"内容"支持选择已创建的引用表。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。 | 填写要防护的具体路径。配置说明： - 不包含域名，仅支持精准匹配，即要防护的路径需要与此处填写的路径完全相等。例如，需要防护的路径为"/admin"，该规则必须填写为"/admin"。  - 路径设置为"/"时，表示防护网站所有路径。  - 配置的"路径"的"内容"不能包含特殊字符（\<\>\*）。   |
     | **Method**  | 请求的方法。                        | --                     | 支持以下逻辑关系：等于、不等于                                                                                                                                                                                                                                                                                                                             | 填写请求的方法，例如GET、POST、PUT、DELETE、PATCH等。                                                                                                                                                                                                                                                                                                                                                                                                                               |
     | **Cookie**   | 请求中的Cookie值。                  | 自定义子字段，长度范围为1到2,048个字符。 | 支持以下逻辑关系：包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为、存在、不存在、等于任意一个、不等于任意一个、不包含任意一个 说明： 逻辑关系为**等于任意一个** 、**不等于任意一个** 、**不包含** **任意一个** 时，"内容"支持选择已创建的引用表。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。                                                | 填写请求的Cookie值，例如jsessionid。                                                                                                                                                                                                                                                                                                                                                                                                                                         |
     | **Header**  | 请求头内容。                        | 自定义子字段，长度范围为1到2,048个字符。 | 支持以下逻辑关系：包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为、存在、不存在、等于任意一个、不等于任意一个、不包含任意一个 说明： 逻辑关系为**等于任意一个** 、**不等于任意一个** 、**不包含** **任意一个** 时，"内容"支持选择已创建的引用表。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。                                                | 填写请求头内容，例如*text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,\*/\*;q=0.8*                                                                                                                                                                                                                                                                                                                                                                |
     | **Params** | URL中的查询参数，即问号（?）后的内容。           | 自定义子字段，长度范围为1到2,048个字符。 | 支持以下逻辑关系：包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为、存在、不存在、等于任意一个、不等于任意一个、不包含任意一个 说明： 逻辑关系为**等于任意一个** 、**不等于任意一个** 、**不包含** **任意一个** 时，"内容"支持选择已创建的引用表。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。                                                | 填写查询参数内容，例如201901150929。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
     | **Referer**   | 请求访问的来源。                      | --                     | 支持以下逻辑关系：包含、不包含、等于、不等于、前缀为、前缀不为、后缀为、后缀不为、存在、不存在、等于任意一个、不等于任意一个、不包含任意一个 说明： 逻辑关系为**等于任意一个** 、**不等于任意一个** 、**不包含** **任意一个** 时，"内容"支持选择已创建的引用表。添加引用表、引用表管理的具体操作，请参见[创建引用表对防护指标进行批量配置](https://support.huaweicloud.com/usermanual-waf/waf_01_0081.html)。                                                | 填写请求的访问来源。例如：防护路径设置为"/admin/xxx"，如果用户不希望访问者从"www.test.com"访问该页面，则"Referer"对应的"内容"设置为"http://www.test.com"。                                                                                                                                                                                                                                                                                                                                                         |
        
     
   
   - 单击"添加规则"，可增加多条防护目标特征，最多可增加10条。
   
   - 存在多条规则时，按"与"关系生效，即同时满足所有规则后才能生效。
   
   
   完成以上配置后，您可以在防护目标特征列表**查看** 、**修改** 、**删除**已配置的规则。
   
   
9. 在"已知BOT检测"、"请求特征检测"、"BOT行为检测"或"主动特征检测"页签，配置相关规则。
 
- [已知BOT检测]
  1. 单击"已知BOT检测"模块，打开"启用状态"开关。 
     - 开启后，默认配置如[图1]所示。
       图1已知BOT检测   
       ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002231369353.png "点击放大") 
     
     - 单击防护规则左侧![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002231483857.png)图标，可查看防护规则详细描述和包含的特征。
     
     
     
     
  
  2. 根据实际业务需要，启用或关闭对应规则，配置防护动作。 
     防护动作说明如下：
     - "仅记录"：仅记录满足特征的请求。
     
     - "JS挑战"：识别到特征后，WAF向客户端返回一段正常浏览器可以自动执行的JavaScript代码。如果客户端正常执行了JavaScript代码，则WAF在一段时间（默认30分钟）内放行该客户端的所有请求（不需要重复验证），否则阻断请求。
       ![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/note_3.0-zh-cn.png)
       请求的Referer跟当前的Host不一致时，JS挑战不生效。
       
     
     - "拦截"：识别到特征后，将直接被拦截。
      
     
     
   
- [请求特征检测]
  1. 单击"请求特征检测"模块，打开"启用状态"开关。 
     - 开启后，默认配置如[图2]所示。
       图2请求特征检测   
       ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002196004056.png "点击放大") 
     
     - 单击防护规则左侧![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002196163632.png)图标，可查看防护规则详细描述。
     
     
     
     
  
  2. 根据实际业务需要，启用或关闭对应规则，配置防护动作。 
     防护动作说明如下：
     - "仅记录"：仅记录满足特征的请求。
     
     - "JS挑战"：识别到特征后，WAF向客户端返回一段正常浏览器可以自动执行的JavaScript代码。如果客户端正常执行了JavaScript代码，则WAF在一段时间（默认30分钟）内放行该客户端的所有请求（不需要重复验证），否则阻断请求。
       ![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/note_3.0-zh-cn.png)
       请求的Referer跟当前的Host不一致时，JS挑战不生效。
       
     
     - "拦截"：识别到特征后，将直接被拦截。
      
     
     
   
- [BOT行为检测]
  1. 单击"BOT行为检测"模块，打开"AI行为检测"开关。 
     ![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/caution_3.0-zh-cn.png)
     开启"AI行为检测"后，单次请求可能会产生额外的检测时延。请在评估业务影响后启用。
     开启后，默认配置如[图3]所示。
     图3BOT行为检测   
     ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002196197290.png "点击放大")
     
     
  
  2. 根据实际业务需要，设置三个行为检测评分区间。评分区间为0\~100，评分越接近0分表示请求特征越像正常请求，越接近100表示请求特征越像BOT。
  
  3. 为每个区间配置防护动作。 
     防护动作说明如下：
     - "放行"：放行满足特征的请求。
     
     - "仅记录"：仅记录满足特征的请求。
     
     - "JS挑战"：识别到特征后，WAF向客户端返回一段正常浏览器可以自动执行的JavaScript代码。如果客户端正常执行了JavaScript代码，则WAF在一段时间（默认30分钟）内放行该客户端的所有请求（不需要重复验证），否则阻断请求。
       ![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/note_3.0-zh-cn.png)
       请求的Referer跟当前的Host不一致时，JS挑战不生效。
       
     
     - "拦截"：识别到特征后，将直接被拦截。
      
     
     
   
- [主动特征检测]
  ![](https://support.huaweicloud.com/usermanual-waf/public_sys-resources/caution_3.0-zh-cn.png)
  - 主动特征检测目前仅支持Web浏览器业务。 开启前，请确认防护对象为Web浏览器客户端，或通过匹配条件将规则限制在仅允许Web浏览器访问的资源中，以免影响移动端App访问。
  
  - 主动特征检测目前仅兼容UTF8编码的HTML源站。为保障源站访问不受影响，建议在开启该功能前，先行核查源站HTML报文的编码属性（需为 UTF8）及内容类型（Content-Type 需设为 HTML）。
  
  - 本功能依赖浏览器的Cookie机制、JavaScript解析能力，如果客户端浏览器不支持Cookie，此功能无法使用。
  
  - 如果您的业务接入了CDN服务，请谨慎使用此功能。由于CDN缓存机制的影响，WAF的网站反爬虫特性将无法达到预期效果，并且有可能造成页面访问异常。
   
  1. 单击"主动特征检测"模块，打开"启用状态"开关。 
     开启后，默认配置如[图4]所示。
     图4主动特征检测   
     ![](https://support.huaweicloud.com/usermanual-waf/zh-cn_image_0000002333689269.png "点击放大")
     
     
  
  2. 根据实际业务需要，为检测设置检测"置信度"。 
     置信度越低表示客户端交互事件频率越低，该客户端越可能是一个自动化程序；反之，该客户端越可能是用户正常操作。主动特征检测支持如下几种置信度：
     - **不设置** ：不检测交互事件。例如**：**用户启用主动特征检测规则后，如果设置交互置信度为"不设置"，则不会对客户端的键鼠交互事件进行计数检测；如果设置交互置信度为低置信度，则拦截未产生键鼠交互事件的客户端。
     
     - **高**置信度：600s内，产生交互事件数超过10次。
     
     - **中**置信度：600s内，产生交互事件数超过5次。
     
     - **低**置信度：600s内，产生交互事件数超过0次。
     
     
     
     
  
  3. 为每个置信度配置防护动作。 
     防护动作说明如下：
     - "仅记录"：仅记录满足特征的请求。
     
     - "拦截"：识别到特征后，将直接被拦截。
      
     
     
   
#### 防护效果验证
假如已添加域名"www.example.com"，且已开启默认配置，并配置"防护动作"为"阻断"，可参照以下步骤验证防护效果：
1. 清理浏览器缓存，在浏览器中输入防护域名，测试网站域名是否能正常访问。 
   - 不能正常访问，参照[通过云模式-CNAME将网站接入WAF](https://support.huaweicloud.com/usermanual-waf/waf_01_0002.html)章节重新完成域名接入。
   
   - 能正常访问，执行[2]。
   
   
   
   
2. 模拟BOT行为。
3. 返回Web应用防火墙控制界面，在左侧导航栏，单击"防护事件"，在"防护事件"页面，查看防护域名拦截日志。
 
#### 相关操作
- [查看BOT管理总览](https://support.huaweicloud.com/usermanual-waf/waf_07_0016_2.html)：查看BOT防护的流量分布、执行的动作分布、流量趋势和BOT评分分布、TOP事件源统计等详细信息。
- [查询防护事件](https://support.huaweicloud.com/usermanual-waf/waf_01_0156.html)：单击目标防护事件"操作"列的"详情"，查看事件详情。
- 如果您不希望执行某类检测，可关闭"已知BOT检测"、"请求特征检测"、"BOT行为检测"、"主动特征检测"状态开关。关闭后，保留该检测模块下的已有配置。
 
