空的用户代理解释


12

我应该如何解释一个空的用户代理?我有一些自定义分析代码,该代码只能分析人员流量。我有一份工作人员清单,其中列出了人流量和漫游器流量,但是空的User-agent被证明是有问题的。空的用户代理使我获得了大量流量,大约10%。

此外,我还通过分析当前日志来设计人员流量与机器人流量用户代理列表。因此,我可能在那里缺少很多条目。是否存在维护良好的表示机器人流量的用户代理列表,或者相反,是表示人员流量的用户代理列表?


1
可能的用户代理列表非常长。例如,在此处查看仅移动用户代理列表: zytrax.com/tech/web/mobile_ids.html
Max Vernon

空白的用户代理非常罕见-您正在使用什么服务器软件?您如何获得用户代理?您确定它确实是空白的,还是您的收集系统中存在创建空白用户代理的错误?
Max Vernon 2012年

@Max-我自己对空的用户代理感到惊讶。我正在使用LAMP堆栈。我通过PHP将用户代理收集为$ _SERVER ['HTTP_USER_AGENT']。代码很简单;尽管我不能完全避免使用用户代理的可能性,但是我的代码无法收集它,或者数据库拒绝存储它,但我怀疑情况确实如此。

1
如果您有权访问Apache的访问日志:记录的用户代理是否也为空?

也许您有刮板访问您的网站?这可能是访客似乎没有USER_AGENT的一种方式-Max
Vernon

Answers:


5

如果您只想分析“人流量”,我将不计入用户代理字符串为空或丢失的消息。以我的经验,几乎所有浏览器都会发送一个。甚至大多数隐私插件或扩展都相当伪造(包括其他操作系统或客户端名称)或“规范化”(例如,没有发行号)或随机化(例如,有时FF,有时是IE字符串)UA字符串,但并未完全删除它们(因为这可能导致某些依赖它的网站出现问题,即使那不是个好主意。)

一个没有UA的简单请求可以这样完成:

wget --user-agent="" www.example.com

如您所见,您可以添加任何所需内容。存储和发布“在野外”发现的UA的网站没有太大用处,因为它们发现了很多废话。

也许有人只是递归地获取了您的内容。或使用某些SEO工具来分析您的网站(某些允许用户手动更改标头,而其他一些则有意忽略robots.txt行)。像这样的东西。在这种情况下,通常会伪造UA标头来隐藏客户和目的。

如果这些请求始终存在,那么进一步分析标头(代理?)或IP(某个块?涉及隐私的公司/代理人)可能会有所帮助。


2

我在一家安全公司工作,除其他外,我们还监控Bad Bot流量。

根据我的经验,使用空白用户代理数据进行的人类访问表明由“无头浏览器”机器人进行的抓取/垃圾邮件尝试(通常是抓取)。

这些访问者有时可以执行JS,因此它们将出现在GA中-仍然,这并不使他们成为人类:)

为“插件”道歉,但请注意,如果需要,我们提供免费的Bad Bot保护服务-以及CDN加速和其他功能。

在这种特定情况下,我们的系统会将此次访问识别为“可疑”,并根据已知的攻击媒介对其进行了验证,并且-如果仍然不确定-会进行进一步的测试和挑战。这些挑战可以无缝执行,而不会导致会话延迟。


0

不会神奇地为访问互联网的每一个软件提供用户代理。软件开发人员必须将该功能编程到他们的软件中。您空白的用户代理仅表示软件开发人员忘记将用户代理添加到其软件中。


或者浏览器用户删除/阻止了UA字符串。
2012年

5
错了 说它“意味着”意味着它通常是或者至少经常是原因。很少有人会使用http软件,而开发人员会因懒惰而跳过UA。如果有任何内容,它几乎总是表示不想识别流量来源,并且与恶意或利用性流量密切相关。不幸的是,一些大公司(Facebook)过去使用空的用户代理字符串,因此完全阻止它们不一定明智。
jerclarke 2014年

1
@jeremyclarke +1这种行为永远不可忽视!在Facebook上感到羞耻!如果合法的漫游器或浏览器需要查看站点,则应始终具有标识符。毕竟,他们正在进入别人的财产。没有用户代理人,就像窃贼偷偷溜进来,戴着面具掩盖了他们的身份。
白胡子

2
就像一个人脸庞蒙住,在您家门口的人行道上来回走动。不一定是非法的,但是如果您不回答问题,他们就不应认为您是一个偏执狂。
jerclarke 2015年

0

在此问题的答案中,我看到了一些评论,将用户代理与隐藏您的身份或人性化进行了比较。这是一个荒谬的比较。用户代理与身份或人类无关。

认为它像鞋类。您在问游客之前,要穿什么样的鞋。最常见的用途是知道要穿哪种地毯,漂亮的红地毯用来穿正装鞋,丑陋的门垫来解决泥泞问题。靴子,并没有为访客提供过敏性地毯的地毯。

当访问者不想说出他们拥有的鞋类(也就是空的User-Agent)时,您将忽略它们。

是的,有很多好的做法试图根据User-Agent和其他请求标头信息来假设有关Web请求的事情。它们可能在99%的时间内工作良好,但是与许多其他类似的做法一样,它们很容易出现假阳性,从而损害了正常的无知用户。

碰到自己不小心使用一个空的User-Agent的问题时,我可以肯定地说,当Web服务以不同的方式对待您时,仅仅因为您不打算告诉您有关鞋类的信息而变得很有趣。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.