浏览器发送" Dalvik"作为用户代理

时间:2014-05-22 10:30:21

标签: android dalvik mobile-browser

Android浏览器正在请求标头中将Dalvik作为用户代理发送。

我目前正在开发一个移动网站,该网站有一个简单的登录页面,用于验证用户名和密码,然后授权用户个人资料。

但是当我检查请求标题时,我看到了一些不寻常的东西,同一设备中有两个用户代理。

以下是来自同一设备的用户代理:

"Mozilla/5.0 (Linux; Android 4.1.2; C5303 Build/12.0.A.1.257) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/34.0.1847.114 Mobile Safari/537.36"

"Dalvik/1.6.0 (Linux; U; Android 4.2.2; C2004 Build/15.2.A.2.5)"

即使是一些奇怪的事情,我们要么重置或丢弃已初始化的cookie。

有什么方法可以进一步调试这些以获取更多信息并更好地了解这个问题吗?

在旧的Android手机或ios或Windows手机中没有出现此问题。

  

**在具有KitKat / JellyBean OS的高端Android手机中发现了问题

3 个答案:

答案 0 :(得分:8)

我刚刚注意到用户代理的类似模式,用于背靠背请求。就我而言,第一个请求(使用Mozilla用户代理)来自嵌入式Web视图。请求的URL是下载PDF文件。我发现Android webview无法处理PDF内容类型,因此它通过intent启动PDF查看器。但是,在启动此查看器之前,Android会对同一URL发出第二个请求。在第二个请求中,将显示Dalvik用户代理。

之前已经讨论了两个请求异常,请参阅Is setDownloadListener onDownloadStart called after the webview already Gets the file?WebView - can't download file without requesting it twice?

在我的第一个请求中,从webview中,我看到了用户代理:

  

Mozilla / 5.0(Linux; U; Android 4.2.2; en-us; Galaxy Nexus   Build / JDQ39)AppleWebKit / 534.30(KHTML,与Gecko一样)Version / 4.0 Mobile   Safari浏览器/ 534.30

第二个请求(我假设来自Android操作系统,而不是webview)显示用户代理:

  

Dalvik / 1.6.0(Linux; U; Android 4.2.2; Galaxy Nexus Build / JDQ39)

答案 1 :(得分:4)

  • Dalvik是个人应用运行的Android VM。
  • 您所看到的是Android中运行的浏览器的请求标头(在Dalvik中运行)。
  • 因此有两个UA(用户代理)字符串,一个用于浏览器,一个用于运行它的VM。

答案 2 :(得分:0)

在过去的6个月中,我已经发现使用此配置文件在流服务器上同时进行GET请求的发生率迅速增加,但是回溯到几年前的数量却大大减少了。首先很容易忽略它们。客户端同时发出许多请求(我通常看到60-80),然后客户端似乎带宽不足。请求停顿,平息,然后重新出现。这持续了几分钟。如果在不同的Eyeball网络上从不同的IP发起了多次此类攻击,那么在我的书中,它将开始被视为DDoS攻击。

由于源位于IP不断变化的眼球网络上(随着时间的推移,但不是在攻击过程中),因此使用IP阻止的效果有限,并且阻止必须过期,因此它们不会影响合法用户。

您的观察结果表明未以任何方式观察到cookie,这似乎增加了这些请求是恶意请求的可能性。

总而言之,可以简单地回答您的问题,是的,您可以阻止这些请求,特别是因为您有证据表明这些请求可能是恶意请求(根据我的经验,自从您发表以来,这种请求一直在稳定增长)。当然,您可能会阻止合法请求。那是你的电话。您还必须处理 how 来阻止它们,因为根据我的经验,它们主要源自眼球网络上DHCP租用的地址。

另请参阅:Can I safely block Dalvik browser agent requests?