检测非人类访客

时间:2016-04-11 07:15:21

标签: javascript php

我页面上的访问者可以选择将他们喜欢的设置保存为cookie(我知道有些人反对它,但这不是讨论的重点)。

如果用户没有Cookie,系统会询问用户是否要设置设置,然后询问是否使用javascript重定向。

我可以检测到非人类交通而不向他们提出“问题”吗? 我注意到谷歌速度分析总是被重定向到我的设置页面,这会在分析页面中提供错误的数据。

我可以通过php或javascript检测非人类交通吗?

编辑:我更愿意在php中检测它们,因为我计划尽可能淘汰javascript

2 个答案:

答案 0 :(得分:1)

这很容易做到这一点,即便如此,根据您的具体需求,有很多选择。

这是一个简单的解决方案:

  • 在每个页面上,将第一个链接设置为“不可见”(不透明度:0),它指向某个触发某些javascript的地方,或者指向某个你想要机器人的地方;也将它放在屏幕外(顶部:-999px)

  • 在页面加载时设置timeout(如500毫秒),让机器人有时间“点击”链接

  • 超时后,它应该是一个人类用户 - 如果没有触发“陷阱”

  • 您可以选择检查鼠标活动,但上述内容应该足够

这应该很好用,因为“人类用户”无法点击链接,但机器人可以因为它读取HTML。请注意:“display:none”,否则机器人可能会跳过这个。

答案 1 :(得分:1)

我建议使用蜜罐来检测它们。

这是一个有趣的Article