如何确保人类而不是机器人访问不同的网页?

时间:2012-01-20 21:21:13

标签: bots visitor-statistic

如何确保人类访问不同的网页,而不是机器人程序? 有没有tecnique?

感谢

3 个答案:

答案 0 :(得分:1)

if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot"))
{
    // Google Bot visits you
}

如果访问者是GoogleBOT,这是一个查找PHP的示例。

答案 1 :(得分:0)

您可以更改HTTP标头中的用户代理,也可以查找类似于活动的机器人,例如来自单个IP地址的各种页面的频率非常高(尽管您可能会看到代理服务器也是)。您还可以在Robots.txt上查找匹配,并假设同一会话中的其他访问也来自机器人。

实际上,没有确定的消防方式,因为复杂的机器人编写者可能会假装成浏览器。

答案 2 :(得分:0)

时间可以很好地衡量访问是人还是机器人。

如果您在跟踪用户访问的JavaScript上设置超时或延迟,则在1或2秒后执行。大多数人会至少访问一个页面(即使他们不喜欢它),而机器人应该能够扫描并继续前进。

只是一个想法。