HTTP_USER_AGENT 未设置 - 这正常吗?或者可能是一个机器人?

Att*_*ind 5 php user-agent

我正在询问您对此的意见/经验。

我们的 CMS 正在从 HTTP_USER_AGENT 字符串获取信息。最近我们在代码中发现了一个错误 - 忘记检查 HTTP_USER_AGENT 是否存在(这是可能的,但老实说:我们只是跳过了这一点,没想到会发生这种情况) - 这些情况导致了错误。因此,我们已更正它,并在那里安装了跟踪:如果未设置 HTTP_USER_AGENT,则会向我们的跟踪系统发送警报。

现在我们有过去几个月来自许多网站的数据/统计数据。现在我们的统计数据表明这种情况确实很少见。~ 0.05-0.1%

另一个有趣的观察:这些请求是单一的。没有发现该“用户”在同一会话中具有多个页面浏览量的任何情况...

这迫使我们思考...我们是否应该将这些请求视为机器人?并简单地阻止它们......或者这将是一个严重的错误?
Googlebot 和其他“好机器人”始终发送 HTTP_USER_AGENT 信息。

我知道防火墙或代理服务器可能会更改(或删除)此用户代理信息。但根据我们的统计数据,我无法澄清这一点...

您的经历是什么?还有其他人对这个主题进行过研究吗?

我在 stackoverflow 上找到的其他帖子只是接受“此信息可能未发送”这一事实。但我们为什么不质疑一下呢?真的很正常吗??

MrC*_*ode 5

我认为缺少用户代理对于真正的用户来说是不正常的,但这仍然是一种[罕见]的可能性,这可能是由防火墙、代理或隐私软件剥离用户代理引起的。

缺少用户代理的请求很可能是机器人或脚本(不一定是搜索引擎爬虫)。虽然你当然不能肯定地说。

可能表明机器人/脚本的其他因素:

  • 只请求页面本身,无法请求页面上的图片、CSS、Javascript等资源
  • 页面与页面之间的请求之间的时间间隔非常短(例如在同一秒内)。
  • 在本应设置 cookie 的后续请求中无法发送 cookie 或会话 ID,但请记住,真正的用户可能禁用了 cookie。