1

如何确保人类访问不同的网页,而不是机器人程序?有什么技巧吗?

谢谢

4

3 回答 3

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

这是一个查找访问者是否是 GoogleBOT 的 PHP 示例。

于 2012-10-26T14:07:13.553 回答
0

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

实际上,没有可靠的方法来做到这一点,因为复杂的机器人编写者可能会伪装成浏览器。

于 2012-01-20T21:25:16.050 回答
0

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

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

只是一个想法。

于 2012-01-20T21:27:34.767 回答