Anubis 是什么?它如何保护网站?
更新时间
Anubis 是 ibiblio.org 目前用来拦截大规模爬虫的一道验证关卡。当你打开 ibiblio.org 时看到“正在确认你是不是机器人!”,说明该站启用了 Anubis,正在用浏览器完成一小段计算,确认访问者不是自动化爬虫。对正常使用浏览器的访客来说,这个过程通常只需短暂等待;前提是浏览器启用了 JavaScript,并且没有插件阻止相关功能。
为什么 ibiblio.org 会先显示这个页面
根据页面上的说明,网站管理员启用 Anubis 是为了避免 AI 公司大量爬取网站内容。这类高频抓取会消耗服务器资源,严重时导致网站崩溃,让所有用户都无法正常访问资源。
Anubis 被描述为一种“折中做法”:它不直接封禁访问者,而是给每次访问增加一点计算成本,让正常用户几乎无感,让大规模爬虫的累积成本大幅上升。
Anubis 的核心机制:工作量证明
Anubis 采用的是类似 Hashcash 的工作量证明机制(Proof-of-Work)。Hashcash 最初是为了减少垃圾邮件而提出的,核心思路是:
- 对单个用户而言,额外增加的计算负担可以忽略不计;
- 对需要发起海量请求的爬虫来说,每个请求都叠加计算成本,总量会变得非常高昂,从而让爬取行为变得更困难。
换句话说,它不是靠识别“你是谁”来拦截,而是靠让你“付出一点计算”来提高批量访问的门槛。
为什么必须启用 JavaScript
页面明确说明,Anubis 需要使用现代 JavaScript 功能,因此必须启用 JavaScript 才能通过验证。原因在于 AI 公司改变了网站托管的社会契约,站点不得不采取这类保护机制。页面同时提到,无需 JavaScript 的解决方案仍在开发中。
如果你使用了 JShelter 这类会限制 JavaScript 功能的插件,可能会阻挡 Anubis 所需的功能。页面给出的建议是:为此域名停用 JShelter 或类似插件。
目前的定位与后续方向
Anubis 当前被定位为一个占位符解决方案。页面说明,它的作用是争取时间,以便后续转向指纹识别和识别无头浏览器(例如通过它们如何进行字体渲染来判断),最终目标是无需向更可能是合法用户的访客展示工作量证明页面。
该页面还显示,ibiblio.org 上运行的 Anubis 版本为 1.25.0,由 Techaro 提供,吉祥物由 CELPHASE 设计。
遇到这个页面时可以怎么做
- 确认浏览器已启用 JavaScript;
- 如果安装了 JShelter 或类似插件,针对 ibiblio.org 停用它们;
- 等待页面自动完成验证并加载,通常不需要手动操作;
- 如果长时间停在“加载中”,可尝试更换浏览器或关闭可能干扰脚本执行的扩展。
需要说明的是,页面本身没有提供跳过验证的入口,也没有说明存在免 JavaScript 的替代方式。