Bot 管理功能旨在为您提供对自动化流量的精细化识别与管控能力。它能够有效应对各类自动化工具,如搜索引擎、监控探针、内容聚合器及恶意扫描器等带来的访问。
WAF 提供了一个多层次的 Bot 防护体系,主要包括:
本文档将重点阐述各类自定义 Bot 规则的匹配逻辑与优先级顺序,帮助您构建精准、高效的 Bot 防护策略。
此功能用于识别并归类特定的 Bot,WAF 按照防护域名 > 请求特征的顺序依次匹配自定义 Bot 规则。
以下是每个配置模块的说明及内部的优先级顺序:
指定需要防护的域名,支持选择添加的精确域名或泛域名。
www.example.com (精确域名)*.example.com (泛域名)www.example.com 的请求到达时,WAF 会优先匹配规则 A。只有当规则 A 的后续条件(如路径、高级条件)不满足时,才会尝试去匹配规则 B。用于限定 Bot 的特征条件,例如请求协议、请求方法、请求头、请求参数、请求体、请求 Cookie、请求 User-Agent 等,不同请求特征之间不存在优先级差别。
如果两条规则的防护域名和请求特征一致,但执行动作不同,则按照规则创建顺序来决定优先级。先创建的规则优先级更高,即规则 ID 小的优先级高于规则 ID 大的规则。
Bot 频率限制规则用于限制特定条件下的流量访问频率。在统计时间内,每个统计对象的访问次数和总访问次数达到设定阈值后,对满足请求特征的请求执行流量限速、拦截或其他动作。
WAF 按照防护域名 > 请求路径 > 请求特征 > 统计条件的顺序逐级匹配频率限制规则,规则定义越具体,优先级相对越高。支持手动调整不同请求特征和统计条件对应规则的优先级。
指定需要防护的域名,支持选择添加的精确域名或泛域名。
www.example.com (精确域名)*.example.com (泛域名)www.example.com 的请求到达时,WAF 会优先匹配规则 A。只有当规则 A 的后续条件(如路径、高级条件)不满足时,才会尝试去匹配规则 B。指定访问目标的 URL 路径,支持输入精确路径或使用通配符*匹配任意路径。WAF 对同一域名下的不同防护规则按照请求路径区分不同分组,即具有相同请求路径的频率限制规则属于同一个一级规则组。
优先级:精确路径 > 通配符路径
示例:
针对域名 www.example.com,您配置了两条规则:
/login.php (精确路径)/login/* (通配符路径)www.example.com/login.php 的请求到达时,WAF 会优先匹配规则 A。如果规则 A 后续条件不满足,才会继续尝试匹配规则 B。用于设定更精细的匹配条件,例如请求协议、请求方法、请求头、请求参数、请求体、请求 Cookie、请求 User-Agent 等。您可以根据不同的请求特征设置多条规则。在同一个一级规则组下,WAF 按照请求特征区分二级规则组。即具有相同请求路径和请求特征的规则属于同一个二级规则组。
优先级
示例
以上图为例,针对路径 /freq_bot,您设置的请求特征组自上而下分别为:
请求特征 | 规则名称 |
|---|---|
| freq1 |
| freq2 |
| freq |
客户端 IP 包含 地址位置 XX所在特征组至列表最前,则优先级从高到低依次为:freq2 > freq1 > freq用于衡量统计对象的访问频率和并发量,以判断是否触发防护动作。 其优先级说明如下:
Bot 统计防护规则用于统计满足请求特征的统计对象在特定时间内的 IP 重复次数或 IP 重复占比,当统计内容达到设定阈值后,对满足请求特征的请求执行观察、拦截、人机验证或其他动作。
WAF 按照防护域名 > 请求路径 > 请求特征 > 统计条件的顺序逐级匹配统计防护规则,规则定义越具体,优先级相对越高。支持手动调整不同请求特征和统计条件对应规则的优先级。
指定需要防护的域名,支持选择添加的精确域名或泛域名。
www.example.com (精确域名)*.example.com (泛域名)www.example.com 的请求到达时,WAF 会优先匹配规则 A。只有当规则 A 的后续条件(如路径、高级条件)不满足时,才会尝试去匹配规则 B。指定访问目标的 URL 路径,支持输入精确路径或使用通配符*匹配任意路径。WAF 对同一域名下的不同防护规则按照请求路径区分不同分组,即具有相同请求路径的频率限制规则属于同一个一级规则组。
优先级:精确路径 > 通配符路径
示例:
针对域名 www.example.com,您配置了两条规则:
/login.php (精确路径)/login/* (通配符路径)www.example.com/login.php 的请求到达时,WAF 会优先匹配规则 A。如果规则 A 后续条件不满足,才会继续尝试匹配规则 B。用于设定更精细的匹配条件,例如请求协议、请求方法、请求头、请求参数、请求体、请求 Cookie、请求 User-Agent 等。您可以根据不同的请求特征设置多条规则。在同一个一级规则组下,WAF 按照请求特征区分二级规则组。即具有相同请求路径和请求特征的规则属于同一个二级规则组。
优先级
示例
以上图为例,针对路径 /api/v1/query,您设置的请求特征组自上而下分别为:
请求特征 | 规则名称 |
|---|---|
| sta1、sta3 |
| sta2 |
| sta |
请求协议 等于 HTTP所在特征组至列表最前,则优先级从高到低依次为:sta2 > sta1 > sta3 > sta用于衡量统计对象的访问频率和并发量,以判断是否触发防护动作。 其优先级说明如下:
为了便于您快速理解和查阅,我们将不同自定义 Bot 规则的优先级逻辑总结如下:
规则类型 | 核心功能 | 优先级判定逻辑 |
|---|---|---|
自定义 Bot 分类 | 识别并标记特定 Bot | 先匹配域名,然后按规则创建时间匹配,先创建的先匹配。 |
频率限制 | 基于访问频率进行速率控制 |
|
统计防护 | 基于 IP 聚集性进行防护 |
|