一个反爬虫页面,把AI公司的算力账单打爆了
打开一个技术博客,你看到的不是文章,而是一行提示:Anubis无法加载JavaScript,服务器可能过载,请刷新重试。这不是网站坏了,是管理员主动装上的防护机制,专门用来对付AI公司的大规模抓取。 Anubis的设计思路来自Hashcash,一个早年用来减少垃圾邮件的方案。核心逻辑是让访问者付出一点计算成本:对普通用户来说,这点额外负载几乎无感;但对批量抓取的爬虫来说,成本会迅速累积,把原本廉价的抓取变得昂贵。 为什么网站要自设门槛 管理员在页面里写得很直白:AI公司改变了网站托管的社会契约。过去网站默认开放给所有人访问,现在大量爬虫涌入,导致服务器宕机,资源对正常用户也不可用。Anubis是一种妥协,用工作量证明挡住机器流量,同时尽量不打扰真人。 这套机制目前依赖现代JavaScript特性。页面明确提示,像JShelter这类插件会禁用相关功能,用户需要关闭插件才能通过验证。没有JavaScript就无法完成挑战,管理员也承认,无JS方案还在开发中。 临时方案背后的长期打算 Anubis被定位成占位方案。真正要做的是更精准地识别无头浏览器,比如通过字体渲染方式的差异来判断访问者是不是真人。一旦指纹识别足够可靠,就不需要向大概率是正常用户的访问者展示工作量证明页面。 换句话说,现在的算力挑战只是过渡手段。网站管理员争取到的时间,会投入到更隐蔽、更少打扰的防护技术上。对普通读者来说,刷新一次页面、多等几秒,成本可以忽略;对批量抓取的一方,每一千次、一万次请求叠加起来的算力消耗,就是一笔需要重新计算的账。 特别