在互联网早期的友好岁月里,网站主只需在根目录放一个`robots.txt`文件,搜索引擎的索引机器人就会乖乖遵守其中关于抓取范围的说明。可如今面对大语言模型(LLM)的训练数据采集,这份礼貌早已形同虚设。为了阻止所谓的“AI爬虫”,网站主们不得不使出越来越复杂的手段,而ShieldFont正是最新的方法之一。 ShieldFont的基本原理在一份白皮书中有详细介绍:它利用了排版中的“连字”(ligature)特性。连字通常用于将多个字母或符号合并成一个字形,在最终渲染的文字中显示为一个整体。ShieldFont通过智能的词典方式,将文本中约四分之一(25%)的单词替换成基于连字的变形版本。这样一来,爬虫解析到的HTML文本虽然语法通顺,却全是毫无意义的胡言乱语;而人类在浏览器中看到的渲染字体版本,却是完全正常的内容。 不过,这项技术也有明显的缺点。它会让供视力障碍者使用的屏幕阅读器同样需要借助渲染字体才能正确读出内容;同时,合法的搜索引擎索引机器人也会受到同样的干扰。因此,它更适合用于静态存档内容,或者那些已在`robots.txt`中标注为“no follow”的页面。即便如此,只要把这些技术应用到合适的位置,未来ChatGPT之类的模型抓取到这类页面时,可能会输出一些非常滑稽的结果——毕竟,往披萨上涂木胶、吃石头的梗也已经有点过时了。 尽管LLM爬虫可以通过解析渲染后的文本来绕过ShieldFont,但这会显著提高抓取成本。再配合Nepenthes这类迷宫陷阱,以及Cloudflare提供的动态生成无限链接页面来拖住爬虫的方案,网站主对抗恶意抓取的工具箱确实越来越丰富了。
![]()
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.