这位访客是机器人还是用户? PHP

时间:2010-05-27 07:41:44

标签: php bots web-crawler

我正在使用Google Analytics(或任何其他)可以自定义的特殊功能进行自己的访问者跟踪。我在剧本的末尾附近调用了这个函数,但是很快就碰到了我们的客户,这些客户遇到了数以千计的机器人(我假设是Google),而且我的表中充满了大约1,000,000个无用的和欺骗性的记录。一个月。

大多数人使用的方法是他们在页面底部使用Javascript,机器人不运行javascript,所以这是一个简单的修复 - 但我正在寻找PHP解决方案。

我做的最后一件事是使用PHP的get_browser

http://us2.php.net/manual/en/function.get-browser.php

并检查crawler方面。这没用。

我看过这篇文章: Stopping scripters from slamming your website hundreds of times a second

但是主要的解决方案是做类似于SO的事情,它会带来一个CAPTCHA。我的观点是不要停止机器人 - 我希望页面被抓取。我只是不想在他们到达时发送访问者跟踪数据。

我现在切换到Javascript解决方案,执行AJAX请求,因为我们的用户感到烦躁和不准确的统计信息。

1 个答案:

答案 0 :(得分:1)

我之前从未使用过这个功能 - 有趣。

现在,所有主要的搜索引擎都会声明自己有一个独特的User-Agent标头,我认为这个函数可以从中获取大部分信息 - 它可能与User-Agent值匹配查找表,并且可能是因为没有正确识别新的索引器。

您可以编写自己的列表,并针对该列表测试$ _SERVER ['HTTP_USER_AGENT']超全局 - 但您必须监控更新。

它也不会阻止坏的或恶意的索引器,因为它们会将自己伪装成普通浏览器(就像客户端的任何其他标头一样,不会信任用户代理)。