通过头部获取回源请求的 Bot 管理标签
功能概述
当启用 EdgeOne 的 Bot 管理功能后,平台在将请求回源时,会自动附加一个 HTTP 请求头
EO-Bot-Tag
,包含对请求客户端的 Bot 标签识别结果,辅助源站进行日志分析与安全防护策略联动。说明:
订阅 Bot 管理后,该功能常态开启。
应用场景
日志记录增强:将 Bot 判定信息直接记录到源站日志中,便于后续分析与溯源。
风险分级控制:源站可根据标签内容动态调整拦截、限速、记录策略。
攻击态势识别:综合 Bot、指纹、行为标签,辅助源站进行客户端画像和威胁判断。
请求头说明
头部名称
EO-Bot-Tag,如原请求已存在
EO-Bot-Tag
头部,EdgeOne 将自动覆盖。传递格式
单个 JSON 对象,结构统一为一个 JSON 对象,包含多个键值对字段。
标签字段定义
字段名 | 类型 | 示例 | 说明 |
bot type | string | "Unknown Bot", "Tool" | Bot 管理模块下,基础特征管理的 UA 特征规则所识别的爬虫或工具类型。 |
bot name | string | "GoogleBot", "cURL" | Bot 管理模块中,基础特征管理的 UA 特征规则所识别的爬虫或工具名称。 |
botnetID | string (hash) | "f0cd7aee88e2b81bca1a063cd1154f02" | 检测到的 Botnet 指纹 Hash。 |
JA3 signature | string (hash) | "f436b9416f37d134cabc04886327d3e8" 或 "" | JA3 指纹(基于 TLS 握手行为计算的哈希指纹) (当请求为 HTTP 协议时,通信中不包含 TLS 协议,JA3 指纹为空字符串)。 |
applied action | string | "monitor"或 "trans" | EdgeOne 的 Web 安全功能对请求采取的动作。未命中任何安全规则的请求,将标记为trans。 |
category | object | {"client_reputation":[{"type":"bot","credibility":"medium"}]} 或 {"idc":{"name": "pccw.com"}} | Bot 管理模块中,客户端画像分析、IDC 规则或搜索引擎规则功能所识别的爬虫风险分类信息: 1. 参数名称为识别到爬虫风险信息的功能名称。 2. 参数值包含多个字段: type 字段:爬虫风险分类 credibility 字段:风险评估置信度 |
behavior | string | "evil_bot" , "suspect_bot" , "normal" | Bot 管理模块中,Bot 智能分析功能识别的爬虫行为风险标签。 |
applied action
字段值
值 | 说明 |
monitor | 观察模式,记录但不干预 |
delay | 短暂延迟后响应 |
slow | 明显延迟后响应 |
allow | 直接放行 |
behavior
字段取值
值 | 说明 |
evil_bot | 恶意 Bot |
suspect_bot | 可疑 Bot |
normal | 正常流量 |
示例
示例一:常见 Bot 工具请求
EO-Bot-Tag: {"bot type": "Tool","bot name": "cURL","botnetID": "d0b8e949bdd3475fec4cd41081577958","JA3 signature": "f436b9416f37d134cadd04886327d3e8","applied action": "monitor","category": {"idc": {"name": "pccw.com"}},"behavior": "evil_bot"}
示例二:可疑客户端请求
EO-Bot-Tag: {"bot type": "Unknown Bot","botnetID": "f0cd7aee88e2b814ba1a063cd1154f02","JA3 signature": "","applied action": "monitor","category": {"client_reputation": [{"type": "bot","credibility": "medium"}]},"behavior": "suspect_bot"}
注意事项
仅在启用 Bot 管理功能的请求中添加
EO-Bot-Tag
头部。JSON 对象中字段顺序无固定要求,源站需按字段名解析。
category
字段可能包含多种不同来源(如 idc
、client_reputation
等),且内部结构可能为嵌套数组或对象。JA3 signature
字段即使无值,也会存在,只是内容为空字符串。