2017-04-05 49 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/