gpt4 book ai didi

android - 我可以安全地阻止 Dalvik 浏览器代理请求吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:03:39 25 4
gpt4 key购买 nike

我注意到,当 Android-OS 设备上的用户访问我的网站时,每个页面上不断发生两个请求。第一个是普通浏览器,第二个来自“Dalvik”。示例:

"GET/HTTP/1.1"200 2126 "-""Mozilla/5.0 (Linux; Android 5.0.2; SAMSUNG SM-G925F/G925FXXU1AOD8 Build/LRX22G) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/3.0 Chrome/38.0.2125.102 Mobile Safari/537.36"1229 2802

"GET/HTTP/1.1"200 2117 "-""Dalvik/2.1.0 (Linux; U; Android 5.0.2; SM-G925F Build/LRX22G)"546 8729

据我理解,第一个请求来自实际浏览器,另一个来自运行浏览器的虚拟机(Dalvik)。问题是 Dalvik 请求不使用相同的 cookie 和/或 POST 数据,这会触发服务器端错误。一个例子是当用户注册一个帐户时。普通浏览器通过 POST 数据发送,但 Dalvik 请求只是在操作 url 上执行 GET。同样,如果用户已登录,Dalvik 将在基于权限的页面上尝试 GET,这可能会将其重定向到其他地方,因为没有 session 。

用户没有遇到任何实际问题(据我所知),但是,我们注意到错误记录中的尝试。所以我的问题是:如果浏览器代理指示“Dalvik/..*”,我能否安全地阻止所有访问尝试?会对使用者造成不良影响吗?考虑到与 Dalvik 相关的请求实际上并没有重新发布真实数据或进行 session ,这似乎不太可能。但希望有更多 Android 经验的人可以提供一些反馈,例如,我是否应该发出特定的 HTTP header /状态代码,如“401 Unauthorized”或“400 Bad Request”?

如有任何帮助,我们将不胜感激。

最佳答案

每当浏览器/WebView 无法呈现特定的服务器响应(可能是 PDF、流媒体服务器或其他任何内容)然后触发操作系统打开另一个应用程序的 Intent 时,就会发生这种情况。 VM (Dalvik) 处理此路由,在此过程中,可能会将文件下载到设备,以便其他应用程序可以访问它(通常,应用程序无法访问彼此的文件,但其他应用程序需要文件来呈现它)。

至关重要的是,它在启动 Intent 之前下载了文件,文件最终下载了两次:一次是浏览器下载它不知道如何处理它,一次是 Dalvik 以便它可以通过 file:// 指向您可能会或可能不会启动的应用程序的 URL。

关于android - 我可以安全地阻止 Dalvik 浏览器代理请求吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38223027/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com