返回资讯中心
外部精选
软件工程
#开发者实时流

网站为何被迫要求用户证明自己是人类

来源标题:Why websites are forced to make you prove you're human

bgp.tools 运营者解释,网站普遍弹出“验证浏览器”页面是因为机器人爬虫压力已超出正常用户请求量。该站平均约500名活跃用户、约10 RPS 动态请求,但每秒被约40个爬虫连接冲击,穿透的连接还会各自发起约5 RPS 请求并持续制造缓存未命中。

Hacker News 最新eraclide2026/11/4 · 5 天前7 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

为什么网站被迫要求你证明自己是人类

benjojo 发布于 2026年11月4日 17:10 +0000 (篇幅较长,抱歉)

在网上到处浏览时,我看到很多人对如今互联网上似乎处处都出现“正在验证你的浏览器”这类页面表达了强烈不满。这确实极其烦人,但我向你保证,从网站的角度来看,这基本上是生存所必需的。

让我从我所经营的公司的角度详细说说,我相信很多地方的情况都类似。

在平常的一天里,bgp.tools 大约有 500 名左右的用户在任何时刻活跃使用网站,我们假设这带来约 10 RPS 的动态请求速率(这不是实际数字,但用整数基准数字更方便说明),所以这基本上不包括 CSS/JS/图片等。

在写这篇文章时,bgp.tools 正在“击落”每秒约 40 个机器人爬虫连接,而那些确实成功建立的连接,往往会继续每个尝试执行约 5 RPS,直到被阻止。更糟的是,这些东西会不断造成缓存未命中——这也合理,因为到了那个阶段,它们就是想以零成本、尽可能多且尽可能快地从你这里提取信息。

问题在于,这些爬虫知道自己不受欢迎,所以它们会乐此不疲地做这些事:(按最常见到最少见的顺序列出)

A) 使用普通浏览器的 user agent 字符串,这样从基本的 access.log 文件里看不出来 B) 模拟真实浏览器的 TLS 握手,以规避 JA-3 及类似缓解措施 C) 使用与主流宽带 ISP 提供商签有专线、以及租用 IP 空间的代理,这样 AS 封锁就不起作用 D) 使用由智能电视和其他被入侵设备组成的整个僵尸网络,这些设备大多位于“正常”网络之后 E) 使用带有“特殊”SDK 的免费手机应用/游戏作为代理 F) 运行完整的浏览器栈,纯粹为了以尽可能“真实”的方式加载页面

当 C+D+E 这些特征结合在一起时,IP/子网/ASN 封锁就不再有效;有了 A+B,你无法轻易分辨谁是谁,于是你陷入两难:

如果你运营一个免费匿名提供信息的网站,你有三个选择:

  1. 把所有内容放在登录墙之后(这可能毁掉你的业务)
  2. 购买/租用更多基础设施,纯粹为了服务机器人,而且是你现有基础设施的显著倍数(这可能毁掉你的业务)
  3. 使用“验证你的浏览器”步骤,以稍微惹恼用户为代价,切掉 90% 以上的这摊烂事

对很多人来说,(3) 是唯一真正可行的选项。对某些网站而言,爬取问题的纯粹规模,在大多数人当前的规模下就是无法承受的。

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →