Cloudflare BotBase 为爬虫运营者增加可追踪身份验证

Cloudflare 于 2026 年 8 月 28 日发布 BotBase for Operators,让机器人和爬虫运营者能够更清楚地提交、跟踪、修正并维护其目录条目。这项更新不只影响 AI 爬虫,也反映出网站防护体系正在改变:可问责的自动化流量,需要提供能够持续核验的身份,而不能只依赖一个看起来熟悉的 User-Agent。

对于获得授权的数据采集、搜索索引、可用性监控、广告验证和市场研究,代理容量只是运营体系的一部分。爬虫还需要稳定说明由谁运营、执行什么任务、如何使用内容,以及网站如何核验它的身份。如果这些声明与实际网络路径发生偏离,更大的代理池也无法恢复信任。

纸雕风全球互联网地图,爬虫信号通过透明身份验证网关

Cloudflare 本次更新了什么

Cloudflare 表示,新的 BotBase 区域面向所有客户开放,并将运营者任务分为三部分:

  • 浏览已经收录的机器人目录;
  • 提交新的机器人;
  • 查看提交历史。

提交历史会显示“等待审核”“已接受”和“已拒绝”三种状态。被拒绝的提交会提供可采取行动的原因。身份信息发生变化时,运营者还可以编辑既有提交;仍在等待审核的提交也可以取消。

审核流程会先运行自动检查,再将不明确的情况交给人工。官方说明的检查包括:是否与现有记录重复、User-Agent 模式是否足够明确,以及所声明的验证方法是否真正有效。系统可能读取公开的 IP 清单、确认反向 DNS,或验证 Web Bot Auth 签名。

公开来源说明:Cloudflare,《BotBase for Operators: A clearer path to joining Cloudflare's directory of bots and agents》,2026 年 8 月 28 日。

这并不是通用抓取许可。每个网站仍可自行决定允许哪些流量。因此,目录收录应被视为身份凭据,而不是同意、合同授权或“所有请求都会通过”的承诺。

为什么代理爬虫需要独立的身份层

代理路径改变目标网站看到的网络来源;爬虫身份说明谁对行为负责。把两者混为一个未经记录的假设,会产生多种故障:

  1. 目录条目引用的 IP 清单已不包含当前出口;
  2. 轮换池加入无法归属于声明主体的新地址;
  3. 某个地区的反向 DNS 有效,另一个地区却无效;
  4. User-Agent 过于宽泛,与其他客户端重叠;
  5. 主请求带有有效签名,但重试或备用客户端没有签名;
  6. 供应商更换上游资源,公开身份记录却没有同步更新。

正确做法是把身份与路由作为两个相互关联、但可以独立测试的系统。

控制层核心问题主要证据
身份谁对自动化行为负责?运营者、用途、联系方式、行为声明
验证身份声明能否被检查?IP 清单、反向 DNS、请求签名
路由哪条网络路径承载请求?网关、会话、出口组、地区、协议
权限此处是否允许采集?合同、站点政策、robots 指引、同意范围
结果响应是否符合任务要求?状态类型、内容校验、延迟、新鲜度

任何一层都不能替代另一层。响应成功不等于身份已验证;身份已验证也不等于获得采集权限。

建立爬虫身份清单

为每个生产爬虫创建版本化的内部身份清单,不在其中保存密钥。至少包含:

  • 责任团队与运营联系人;
  • 爬虫用途和允许的使用场景;
  • 精确 User-Agent 模式;
  • 内容使用声明;
  • 直接运营或中介运营模式;
  • 所选择的验证方法;
  • IP 清单或反向 DNS 的维护流程;
  • 使用签名请求时的客户端覆盖范围;
  • 获批地区、代理产品和协议;
  • 变更负责人、复核日期与回滚规则。

这是一份控制文档,而不是营销介绍。工程师应当可以用它直接核对线上路径,无需猜测。

核对轮换出口与声明身份

1. 固定预期出口组

按获批市场记录不包含凭据的出口组标识。住宅、ISP、移动和数据中心代理分别管理;IPv4 与 IPv6 也应独立记录,因为其所有权和反向 DNS 行为可能不同。

2. 进行有界抽样

在并发数为一的条件下执行少量授权测试。仅在核验所需的最短时间内保留出口地址;日常日志不需要原始地址时,使用哈希或短期令牌。

3. 比较三个集合

每个测试窗口计算:

  • 已声明但未出现:验证来源中存在、实际样本未出现的地址;
  • 已出现且已声明:与验证来源匹配的活动出口;
  • 已出现但未声明:无法由现有身份方法核验的活动出口。

第三个集合必须阻止发布。不要在未验证所有权的情况下直接扩大 IP 清单。应隔离该出口组、调查供应变化,确认正确后再更新身份清单。

4. 测试备用路径

对每种获批重试、地区故障转移、协议降级和客户端实现执行非破坏性测试。主客户端可能正确签名,但旧任务进程、浏览器流程或紧急路由可能发送未签名请求。

使用代理路由泄漏检测指南确认代理失败后不会静默切换到直连。需要稳定会话窗口时,再使用住宅代理会话粘性测试

把身份验证变化作为发布变更

迁移 IP 清单地址、变更反向 DNS、启用签名请求或新增代理供应商,都可能改变网站对爬虫的识别。每次变更应遵循小型发布流程:

  1. 创建变更记录,标明受影响爬虫和出口组;
  2. 在测试环境或获授权目标上核验新方法;
  3. 确认所有生产客户端执行相同验证;
  4. 同步更新目录提交和内部清单;
  5. 按出口组监控接受、拒绝、挑战和阻断结果;
  6. 旧方法只保留明确的重叠窗口;
  7. 发现未声明出口或未签名请求时立即回滚。

不要在同一次发布中同时变更 User-Agent、代理资源、验证地址、重试策略和签名代码,否则发生拒绝时将无法可靠归因。

在不规避控制的前提下衡量识别质量

有效指标应关注一致性与权限,而不是绕过防护:

  • 各出口组的验证覆盖率;
  • 使用精确声明 User-Agent 的请求比例;
  • 各客户端和重试路径的签名成功率;
  • 适用时的反向 DNS 正反向一致率;
  • 未声明出口比例;
  • 接受、挑战、阻断和政策拒绝结果;
  • 基础设施变更到目录更新的耗时;
  • 获准请求的内容有效率和延迟。

不得快速轮换 IP 寻找能够避开阻断的路径。如果目标网站拒绝爬虫或发出限制信号,应停止自动化流程,通过站点所有者或获授权接口解决身份、权限或政策问题。

运营检查清单

  • [ ] 已记录爬虫用途、运营主体、内容使用和运营模式。
  • [ ] User-Agent 足够明确,并在所有客户端保持一致。
  • [ ] 验证凭据与当前生产出口匹配。
  • [ ] IPv4 与 IPv6 出口组分别测试。
  • [ ] 重试和故障转移路径保持相同验证行为。
  • [ ] 未声明出口会被隔离,而不是静默加入白名单。
  • [ ] 目录和内部记录在同一变更中更新。
  • [ ] 权限证据与身份凭据分开保存。
  • [ ] 日志不包含密码、Cookie、签名密钥和不必要的原始 IP 历史。
  • [ ] 遇到阻断或挑战时进入停止与复核流程。

常见问题

BotBase 显示已接受,是否就可以抓取?

不可以。它表示该机器人经审核后被目录跟踪。网站所有者仍决定允许哪些流量;运营者还必须遵守合同、站点规则、robots 指引、同意要求和速率限制。

只使用可识别的 User-Agent 是否足够?

不够。User-Agent 只是声明。验证可能依赖 IP 清单、反向 DNS 或签名请求,实际流量必须持续匹配这些凭据。

住宅代理池能否用于已验证爬虫?

只有在运营模式、供应商条款、目标规则和验证方法相互兼容时才可以。高度动态、共享的出口通常不适合依赖稳定自有 IP 清单的身份方案。

是否应该长期保存原始出口 IP?

通常不需要。只保留身份核验和事故处理所需的最少数据,优先采用短期证据、哈希后的出口组令牌和明确删除周期。

出现无法解释的拒绝后应该怎么办?

核对声明身份与真实路径,检查 User-Agent 是否过宽、验证覆盖率、反向 DNS 或签名行为,以及近期基础设施变化。不要通过增加请求量或加快轮换来应对。

合规说明

自动化采集只能用于合法且获得授权的目的。遵守目标条款、适用的 robots 指引、内容使用偏好、同意要求、隐私义务和合理速率限制。身份验证不会覆盖访问控制。不得使用代理冒充其他运营者、隐藏被禁止的活动,或绕过网站阻断和挑战爬虫的决定。