2017-04-05 50 views
0

不同的是没有任何合理的情况下,其中由JavaScript报告的navigatoruserAgent可能是从一个发送的User-Agent头不同。可以JavaScript的`userAgent`从浏览器的头请求

我问的部分原因是:我有一个应用程序从JS收集用户代理以回报服务器。在大多数合法的情况下,这是不必要的。但是,他们真的可以不同或说谎吗?

navigator.userAgent被“只读”,使变化的可能性不大。我只是想知道,无论出于何种原因,黑客或扩展程序实际上可以在普通浏览器或无头浏览器上这样做。

回答

0

好吧,这里是我自己的测试和研究的答案。有三种类型的在野外头和客户端侧之间的用户代理差异:

短UA字符串政策由IE发送pre and post platform registry value tokens to the server to improves compatibility and network performance。使用通过navigator.userAgent提供的扩展UA字符串。然后他们添加了添加extension tokens的能力。


默认情况下,iOS的Tor浏览器会发送Windows桌面Firefox用户代理。 目前:Mozilla/5.0 (Windows NT 6.1; rv:45.0) Gecko/20100101 Firefox/45.0

的Javascript但报告一个通用的Safari移动Web视图用户代理。


UCMini(U2)发送UCWeb的用户代理与所述请求,例如:

UCWEB/2.0 (iPad; U; CPU OS 7_1 like Mac OS X; en; iPad3,6) U2/1.0.0 UCBrowser/9.3.1.344

虽然客户端报告该wackadoodle:

Mozilla/5.0 (X11; U; Linux i686; zh-CN; r:1.2.3.4) Gecko/