首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP:区分人类用户和机器人/其他

PHP:区分人类用户和机器人/其他
EN

Stack Overflow用户
提问于 2010-08-25 04:10:17
回答 3查看 1.2K关注 0票数 1

我想用PHP来区分真人和机器人。我目前跟踪页面浏览量,由于机器人爬行我的页面,它们被大量膨胀,所以我只想记录真实的人。这并不重要,如果它不是100%准确,我只是想要一个很好的简单的方式,通过PHP来做。

需要明确的是,这不是为了分析本身;它是为了让我可以跟踪每天都有哪些图像被提供,这样我就可以生成一个“当天最受欢迎的图像”之类的脚本。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-08-25 04:11:32

你应该检查用户代理字符串,大多数行为良好的搜索机器人都会这样报告自己。

例如,Google's spider

票数 3
EN

Stack Overflow用户

发布于 2010-08-25 05:36:33

首先,显而易见的是:检查用户代理。

我使用了另一个非常有效的技巧。我将robots.txt映射到一个PHP文件,并将IP登录到数据库中。然后,当记录用户活动时,我确保它们不是来自这些记录的IP之一。如果用户通过登录系统进行身份验证,那么我无论如何都会跟踪他们。

当然,这两种解决方案都不能保证准确性,但是对于一般的日志记录,它已经足够满足我的目的了。

票数 1
EN

Stack Overflow用户

发布于 2010-08-25 04:15:02

我不确定PHP是否是解决这类问题的最佳方案。

你可以阅读How to block bad botsHow to block spambots, ban spybots, and tell unwanted robots to go to hell来了解更多关于拦截机器人的解决方案,但这一次是使用apache。

与php程序相比,Apache的运行速度更快,执行这类任务所需的CPU更少。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3560613

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档