5

我们想在我们的 html 主体中设置一个小蜜罐图像来检测爬虫/恶意机器人。

以前有没有人设置过这样的东西?

我们认为最好的方法是:

a) 通过以下方式将 html 注释掉:

<!-- <img src="http://www.domain.com/honeypot.gif"/> -->

b) 将 css 样式应用于图像,使其通过以下方式隐藏在浏览器中:

.... id="honeypot" ....

#honeypot{
    display:none;
    visibility:hidden;
}

使用上述内容是否有人预见到适当和真实的用户代理会拉取图像/尝试渲染它的任何情况?

honeypot.gif 将是一个 mod_rewritten 的 php 脚本,我们将在其中进行日志记录。

虽然我知道上述两个条件可能会被任何编码良好的爬虫跳过,但它至少可以对非常肮脏的情况有所了解。

关于最佳方法的任何其他指示?

4

2 回答 2

3

机器人会忽略您的 img 标签,因为它在评论中。

相反,您可以考虑创建一个不可见的 div,其中包含指向同一站点上触发 URL 的链接(最好在同一目录中,以防机器人对深度敏感)。

于 2011-09-07T20:42:21.237 回答
0

IMO 我认为任何好的爬虫都会知道如何使用 a 传递 HTML SGML parser,并且会跳过评论的图像,但我可能是错的。

最多它会在它发生时给你一个想法,但不能提供一种对抗刮板的方法。您可能会更好地提出某种基于 cookie 的解决方案,因为大多数机器人可能不关心这些。您还可以在请求之间随机化图像路径并在短时间内使它们失效。

如果您不关心不支持它们的浏览器或隐藏/更改它们的人,那么检查引荐来源网址是显而易见的。

于 2011-09-07T21:00:05.697 回答