跳转至主要内容
流量质量与欺诈

良性与恶意机器人:先分类,再拦截

良性与恶意机器人:先分类,再拦截

一个 IP 在 10 分钟内请求 600 个页面。如果是价格采集器,你会想阻止它。如果是正在发现新站点地图的 Googlebot,拦截可能使数千产品延迟索引。行为看起来同样“快”,运营决策却相反。

仅靠用户代理、速度或 JavaScript 支持,无法区分良性与恶意机器人。要回答三个问题:它是谁、在做什么,以及造成什么影响?

良性、恶意和身份未明的机器人

良性机器人

良性机器人服务于网站接受或能从中受益的目的:

  • 搜索引擎抓取工具;
  • 你配置的链接、可用性或安全监控;
  • 社交分享预览抓取工具;
  • 获授权的无障碍或存档服务;
  • 按协议运行的合作伙伴 API 客户端。

良性不意味着不受限制。Googlebot 的自动抓取遵守 robots 规则;你的监控仍应有端点和速率边界。

恶意机器人

恶意自动化会造成损害,或违背网站用途进行访问:

  • 欺诈性广告点击;
  • 价格、内容或客户数据采集;
  • 撞库和密码攻击;
  • 批量建号、表单垃圾提交或占库存;
  • 漏洞扫描;
  • 污染分析数据的假流量。

身份未明的机器人

这通常是最大的一组:SEO 工具、移动应用、无头浏览器、测试代理或新 AI 服务。立即拦截可能破坏集成;无限制访问则会带来风险。

对于这一组,限速和观察通常优于二元决定。

用户代理不是身份证明

一个请求写着:

Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

这并不能证明它来自 Google。任何脚本都能复制这段文字。

Google 建议:

  1. 反向 DNS 应返回有效的 Google 自有主机名,正向 DNS 应解析回同一 IP;
  2. 将来源 IP 与 Google 公布的抓取工具范围比较。

只按用户代理加入允许列表,会招来冒充。只按用户代理拦截,则会漏掉伪装浏览器的机器人。

机器人分类的信号矩阵

没有单一信号是完美的。应组合多个信号:

信号 问题
网络身份 住宅、数据中心、VPN、Tor,还是已验证抓取工具范围?
用户代理 是否与 TLS 指纹和行为一致?
访问速率 每分钟、五分钟和每小时请求数?
导航 是否加载 HTML、CSS、图片和正常路径?
行为 是否有自然的滚动、点击、聚焦、阅读时长和切换?
目标 公开内容,还是登录、结账和表单端点?
影响 资源成本、分析失真或广告损失?

合法抓取工具可能很快,同时身份已验证、遵守 robots,并聚焦公开内容。采集器可能自称 Chrome,却跳过资源、轮换 IP,并只采集产品。

六种可疑行为模式

1. 高速访问但没有人类节奏

数百次点击精确间隔 200ms,不太可能来自人类。合法抓取工具也很快,因此要把访问速率与身份及目标 URL 结合判断。

2. 请求只聚焦具有业务价值的端点

??????????????????????????????????????????????????????????????

3. 指纹与用户代理不一致

用户代理自称 iPhone 上的 Safari,而 TLS、标头顺序或视口却类似桌面无头 Chromium。这种不一致比用户代理文字本身更有用。

4. IP 轮换,但设备证据不变

住宅代理让自动化能够更换地址。如果 Cookie、指纹、行为和目标反复出现,逐个 IP 拦截就会永无止境。

5. 从不加载辅助资源

浏览器通常会获取所需 CSS、JavaScript、字体和图片。简单采集器可能只请求 HTML 或 API。缓存和隐私工具使这只能作为辅助信号,而非证据。

6. 失败后沿列表继续尝试

连续尝试用户名、优惠券、卡数据或管理路径,会暴露自动化。单纯 IP 限制无法应对分布式机器人;应纳入账户、指纹和动作维度。

避免用粗放规则拦截良性机器人

拦截全部数据中心

许多恶意机器人使用数据中心,但监控、webhook、搜索抓取工具和企业服务也一样。这可能适合敏感的优惠券操作,却不适合整个公开网站。

拦截每个快速客户端

搜索抓取工具和可用性监控会发送合法的突发请求。速率限制应反映端点敏感性和已验证身份。

到处要求 JavaScript 挑战

搜索抓取工具能渲染部分 JavaScript,但反机器人挑战、强制 Cookie 和 CAPTCHA 可能阻碍发现。重要公开内容需要为已验证抓取工具提供顺畅路径。

永远信任旧允许列表

IP 范围、服务和业务需求都会变化。每个允许列表条目都需要来源、负责人、复查日期和使用日志。

按风险制定响应策略

等级 1:允许并记录日志

适用于已验证抓取工具、自有监控和已知合作伙伴。私有区域仍须身份验证;“良性机器人”并不等于授权。

等级 2:温和限速

适用于读取公开内容、身份未明的自动化。超过阈值时返回 429 和 Retry-After,而不是因一次短暂高峰永久封禁。

等级 3:挑战或降低能力

适用于中等风险行为:快速搜索、反复建购物车或提交表单。引入 JavaScript 检查、基于阈值的 CAPTCHA,或减少返回数据。

等级 4:拦截

适用于撞库、漏洞利用尝试、已确认垃圾提交、有证据支持的点击欺诈,或高质量拒绝列表匹配。

等级 5:调查并保存证据

对持续广告欺诈或攻击活动,保留请求 ID、时间戳、IP 哈希、用户代理、指纹、广告活动和动作。避免保存超出需要的个人数据;目标是可复现的决策。

对不同访问面采取不同保护

内容与 SEO 页面

允许已验证抓取工具,积极使用缓存,对身份未明的自动化限速,并监控采集。不要在需要索引的文章或分类前设置 CAPTCHA。

登录和密码重置

按账户和 IP 限制,检测用户名列表,使用 MFA,并对失败高峰告警。使用住宅 IP 的机器人仍可通过动作模式识别。

线索表单

蜜罐、最短完成时间、服务器验证和速率限制能减少垃圾提交。仅靠 CAPTCHA 不足以应对有人协助的机器人农场。

结账与优惠券

跨账户、设备、卡和优惠券跟踪操作速率。数据中心屏蔽可能有用,但可能需要为企业客户设置例外。

广告落地页

记录广告活动、点击 ID、时间戳和质量分数。比较广告网络点击、会话、日志和转化。财务排除需要比单个可疑请求更强的证据。

调查 IP 或指纹

  1. 使用 IP 检查器对地址分类。
  2. 如果它声称是大型抓取工具,验证反向 DNS。
  3. 提取 5–30 分钟窗口内的动作序列。
  4. 比较用户代理、标头、指纹和资源请求。
  5. 检查广告活动、落地页和动作价值。
  6. 分配可信度,而非绝对真/假标签。
  7. 选择允许、限速、挑战或拦截。
  8. 为临时规则设置到期日期。

0–100 分保留灰色区域:

  • 80–100:强烈的真人信号;
  • 50–79:观察或应用轻度限制;
  • 低于 50:多个自动化或风险信号。

阈值取决于产品。博客、银行和游戏有不同的风险容忍度。

将误报视为产品指标

阻止 99% 机器人却失去 5% 真实客户的系统,可能不如不那么激进的系统。应监控:

  • 成功通过的挑战;
  • 联系支持的被拦访客;
  • 规则应用前后的转化;
  • 通过新 IP 返回的机器人;
  • 误报率高的端点。

每条规则都需要原因、负责人和回滚路径。“这个 IP 感觉奇怪”并不是运营政策。

像生产代码一样治理机器人规则

机器人控制规则容易不断累积。攻击期间添加的紧急 IP 封禁,可能在地址早已更换所有者后仍保留多年。应将规则视为有版本记录的生产逻辑。

每条规则应记录:

  • 支持该规则的行为或事件;
  • 使用的信号和可信度;
  • 受影响端点和用户组;
  • 负责人和批准日期;
  • 到期或复查日期;
  • 回滚说明;
  • 需要观察的误报指标。

风险允许时,尽量在仅报告模式下测试新控制措施。记录本来会被限速或拦截的请求,再与成功登录、购买、已验证抓取工具和支持投诉比较。这个影子运行阶段能在影响客户前暴露过宽的正则和网络规则。

按访问面推出,而非全局应用。严格规则可能适合优惠券兑换,却会伤害文档页面。端点专用策略也能在变化发生时提供更清晰的指标。

为已验证运维保留紧急绕过机制和快速回滚路径。发生误报事故时,等待完整应用部署造成的损失,可能超过规则原本要阻止的自动化。

最后,像审查拒绝列表一样仔细审查允许列表。被盗用的合作伙伴令牌或过时抓取工具例外,可能成为永久漏洞。信任应有范围、可观察,并定期重新验证。

robots.txt 是机器人防御工具吗?

Robots.txt 是协作型抓取工具的约定。恶意自动化可以忽略它。它对 Googlebot 和合法抓取工具仍然重要,但不能替代 WAF、身份验证、速率限制或行为分析。

使用 Robots.txt 检查器,确保反采集更改没有意外屏蔽搜索抓取工具。

**查看全貌:**了解流量质量分数的运作方式,并在应用全站拦截规则前运行免费 SEO 审核。

结论

请使用提供商的官方方法验证爬虫身份并审查其请求行为。安全响应头本身不能证明身份,也不能确认 WAF 是否允许访问。

参考资料:Google 搜索中心——Googlebot和Google 抓取工具概览。

广告

常见问题

仅靠用户代理能验证 Googlebot 吗?
不能。用户代理很容易伪造。应使用正向确认的反向 DNS,或将来源 IP 与 Google 官方抓取工具范围比较。
应该拦截每个数据中心 IP 吗?
不应对全站这样做。数据中心既托管恶意机器人,也托管抓取工具、监控、webhook 和合法企业服务。应评估端点和行为。
robots.txt 能拦截恶意机器人吗?
并不可靠。它是协作型抓取工具的约定;恶意机器人可能忽略它,需要速率限制、WAF、身份验证或行为控制。
#机器人流量 #VPN 与代理 #质量评分

免费检查您的网站

立即运行 SEO 审核或检查您的流量质量——无需注册。