建议使用honeypot img标签来检测刮刀/坏机器人

时间:2011-09-07 20:24:48

标签: html image detect scraper honeypot

我们想在我们的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脚本,我们将在其中进行记录。

虽然我知道任何编码良好的刮刀都可以跳过上述2个条件,但至少会对非常脏的刮刀有所了解。

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

2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

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

最多它会让你知道它何时发生,但是没有提供一种方法来对抗刮刀。你最好想出一些基于cookie的解决方案,因为大多数机器人可能并不关心这些。您还可以在请求之间随机化图像路径,并在短时间后使它们过期。

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