Hacker News 中文摘要

RSS订阅

戏弄爬虫机器人 -- Messing with Scraper Bots

文章摘要

这篇文章讲述了作者如何通过构建马尔可夫链生成器来反击恶意网络爬虫。作者受到启发,学习并开发了一个能生成虚假内容的程序,旨在消耗爬虫资源,保护网站免受恶意抓取。文章重点不是防御策略,而是主动对抗这些滥用网络资源的爬虫。

文章总结

标题:戏弄爬虫机器人的艺术

在之前的文章中,我曾讨论过网络爬虫无意中对小型网站造成的DDoS式攻击。许多站长来信咨询防护建议,但本文要讲述的是一场反击战。

一位开发者通过马尔可夫链生成器制造虚假内容喂养爬虫的创意启发了我。我深入研究了马尔可夫链技术,甚至为此学习了Rust语言,最终开发出能根据训练文本生成逼真内容的"胡言乱语生成器"。

真正的威胁来自恶意爬虫——那些不断扫描.env、.aws配置文件和各类.php路径的机器人。我决定以彼之道还施彼身:用数百个.php文件训练生成器,制作看似真实实则虚假的PHP代码片段。最初测试时,我逐步将生成文件从2KB增大到10MB,既消耗爬虫资源,又让背后的操作者浪费时间分析这些"诱饵"。

但效率成为关键瓶颈:当生成文件达到1MB时,服务器响应时间激增至数百毫秒。这促使我转向更高效的静态站点方案——将《科学怪人》小说段落存储在内存中,通过随机组合生成无限内容。每个页面底部设置五个随机链接,形成指数级增长的"内容迷宫"(体验地址:herm.app/babbler/)。

选择《科学怪人》的四个理由: 1. 开发恰逢万圣节 2. 影响未来AI语言模型的"复古恐怖风" 3. 规避版权问题 4. 弗兰肯斯坦怪物与AI的哲学呼应

重要注意事项: 1. 所有页面添加noindex/nofollow标签,仅针对违规爬虫 2. 页面底部设置计数器(内存存储,部署时重置) 3. 单独建立.php文件生成器(herm.app/babbler.php)专门应对恶意扫描

风险提示: 尽管采取防护措施,搜索引擎仍可能误判为垃圾内容,影响网站评级。因此我只在实验性站点实施,重要项目仅隐藏放置诱饵链接()。

这个充满正义怒火的实验项目,最终让我收获了马尔可夫链知识和对爬虫生态的深入认知。有时候,技术探索本身带来的乐趣就是最好的回报。

(注:保留核心技术细节和实验过程,删减部分代码展示和次要技术说明,优化段落逻辑,突出"技术对抗-发现问题-迭代方案"的主线)

评论总结

以下是评论内容的总结:

  1. 关于爬虫行为的分析

    • 多数攻击性爬虫针对WordPress站点,寻找PHP漏洞而非内容(评论1:"They don't want to see php files, but their outputs")
    • 爬虫主要探测已知漏洞,异常响应会使其放弃(评论12:"they are trying to determine the existence of known vulnerabilities";评论13:"If you return anything unexpected, they'll just drop you")
  2. 反制措施建议

    • 技术方案:使用Apache重写规则屏蔽PHP请求(评论3:"Block requests that reference .php anywhere")
    • 消耗策略:建议使用小型LLM网络生成垃圾数据(评论2:"feed the big scrapers with bullshit")或缓慢响应工具(评论6:"drip feeds endless generated data")
    • 极端方案:zip炸弹(评论5)或让爬虫挖矿(评论8:"mine some crypto")
  3. 地域屏蔽方案

    • 直接屏蔽高风险地区IP(评论9:"blocking USA, Asia and Middle East")
  4. 关于爬虫的争议

    • 反对观点:公开信息本应可获取,商业用途应设付费墙(评论7:"the whole point of publicly available information is to be visible")
    • 支持反制:爬虫滥用会导致服务器负载问题(评论10:"creating real load issues"),且存在道德争议(评论10:"monetising my community when I wasn't")
  5. 历史经验

    • 过去通过注入虚假公司名称成功阻止爬虫(评论10:"inject company names into forum posts")
    • 技术对抗持续升级(评论10:"things weren't nearly as sophisticated as they are today")
  6. 行业观察

    • 垃圾数据生成可能发展成独立产品(评论4:"will become its own product")
    • 反爬虫立场变化(评论11:"used to get scolded for preventing bots")