Bots可用的规则匹配字段

Bots高级模式可对常见的匹配字段(如IPRefererUser-Agent等)进行条件组合,用来筛选访问请求,并对命中条件的请求设置观察、滑块校验或拦截操作。本文通过示例,为您介绍Bots常见的匹配字段及规则设置方法。

说明

本文的示例仅为参考信息,请根据业务的实际需求设置对应的Bot策略。更多匹配条件请参见匹配字段匹配运算符匹配值

User-Agent

User-Agent 是 HTTP 请求头中的关键字段,用于标识访问设备的操作系统、浏览器类型及版本等特征。通过配置User-Agent黑白名单规则可精准控制访问来源,从而增强业务加速服务的安全防护能力。

配置示例

近期,您的业务被搜索引擎爬虫恶意爬取资源,导致域名带宽成本突增。通过分析,发现爬虫请求 User-Agent 包含Python-requests,您希望拦截该类请求。可参考以下设置规则匹配条件:

  1. 如果请求匹配以下规则...区域设置匹配字段为User-Agent,匹配运算符为包含,匹配值为Python-requests

    image

  2. 则执行…区域打开伪造爬虫拦截的开关,快速拦截符合匹配条件的搜索引擎爬虫。

是否为静态请求

静态请求是指在客户端(如浏览器)向服务器发起的请求中,请求的资源是服务器上预先存储的静态文件(音视频、图片等),不需要服务器进行动态处理或生成。

匹配字段设置为是否为静态请求时,开关显示为image表示静态请求执行以下防护策略,开关显示为image表示非静态请求执行以下防护策略。

配置示例

某电商平台发现大量Bots伪装成正常用户,高频请求商品图片,导致ESA带宽成本突增。需构建防护策略,精准区分合法用户与恶意Bots的静态资源访问行为。

  1. 如果请求匹配以下规则...区域设置匹配字段为是否为静态请求,匹配运算符为等于,开关设置为image

    image

  2. 则执行…区域配置合法Bot管理Bot特征识别Bot行为识别等防护策略。

已通过JavaScript检测

JavaScript检测表示在响应 HTML 页面或页面浏览请求时,对访问客户端注入轻量级、不可见的 JavaScript代码片段,不能执行JS的非浏览器类工具的请求将被拦截,而通过JavaScript检测的请求可继续执行其他动作。

匹配字段设置为如果请求匹配以下规则...时,开关显示为image表示已通过JavaScript检测的请求执行以下防护策略,开关显示为image表示没有通过JavaScript检测的请求执行以下防护策略。

配置示例

假设您的网站业务已开启了JavaScript检测功能进行Bot识别,现需对已通过JavaScript检测的搜索引擎爬虫添加白名单,不再经过Bot管理模块的防护检测。

  1. 如果请求匹配以下规则...区域设置匹配字段为已通过JavaScript检测,匹配运算符为等于,开关设置为image

    image

  2. 则执行…区域单击合法Bot管理右侧的配置,选择需要加入白名单的搜索引擎

JA3/JA4指纹

JA3JA4是用于识别SSL/TLS客户端的技术指纹,其中JA3通过分析TLS握手中的Client Hello包生成MD5哈希值作为唯一标识,而JA4是其升级版,支持多协议且采用可读的模块化字符串格式,增强了抗伪造能力和扩展性。

配置示例

某电商平台的API接口提供商品价格与库存查询服务,但近期发现大量异常流量消耗带宽,经分析发现攻击者使用Python爬虫伪装成浏览器访问接口,导致数据泄露和业务性能下降。因此,在ESA高级模式中配置JA3指纹黑名单规则,直接拦截匹配已知恶意指纹(例如 Python-requestsScrapy 等)的请求。

  1. 如果请求匹配以下规则...区域设置匹配字段为JA3指纹,匹配运算符为包含以下各项,匹配值为 Python-requestsScrapy

    image

  2. 则执行…区域打开伪造爬虫拦截的开关,快速拦截符合匹配条件的爬虫