如何确保人类访问不同的网页,而不是机器人程序?有什么技巧吗?
谢谢
if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), "googlebot"))
{
// Google Bot visits you
}
这是一个查找访问者是否是 GoogleBOT 的 PHP 示例。
您可以更改 HTTP 标头中的用户代理,或查找类似机器人的活动,例如来自单个 IP 地址的大量页面的非常高的点击率(尽管您也可能在代理服务器上看到这一点) )。您还可以在 Robots.txt 上查找命中,并假设同一会话中的其他访问也来自机器人。
实际上,没有可靠的方法来做到这一点,因为复杂的机器人编写者可能会伪装成浏览器。
时间可以很好地衡量访问是人还是机器人。
如果您在跟踪用户访问的 JavaScript 上设置超时或延迟,以在 1 或 2 秒后执行。大多数人至少会在这段时间内访问一个页面(即使他们不喜欢它),而机器人应该能够在这段时间内扫描并继续前进。
只是一个想法。