聽說今天IOS 11更新了,我們來聊聊為什麼 UserAgent 中出現「 iPhone;U; 」的訂單都是高危的?
相信大多數童靴對 UserAgent (以下簡稱 「UA」)都比較了解,但在開頭還是簡單介紹一下 UA 的基本概念,方便理解。
UserAgent 是什麼?
UserAgent 又稱為「用戶代理」,簡稱 UA 。 UA 的存在,能夠讓伺服器能夠識別客戶端的信息,從而針對不同客戶端做出特定的行為。
比如,給瀏覽器語言設置為中文的用戶觀看中文頁面;給使用移動瀏覽器的用戶推薦 APP 下載鏈接等。
UA 是一串字元,其標準的格式為:瀏覽器標識(操作系統標識;加密等級標識;瀏覽器語言)渲染引擎標識版本信息。
例:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36n
通過 UA ,你能對用戶使用的軟體硬體情況有個大致的了解。比如以上的例子就可以翻譯成:
Windows 10 系統下的 64 位計算機,使用 Webkit 渲染引擎的 Chrome/Safari 瀏覽器。n
為什麼 UserAgent 中出現「 iPhone;U;」的訂單都是高危的?
回答這個問題之前,需要先回答另外兩個問題。
① iPhone;U 這種組合合理嗎?
合理。不過僅限於 iOS4 以及之前的版本。
- iOS4 以及之前的 UA :
Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0_1 like Mac OS X; ja-jp) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A306 Safari/6531.22.7
- iOS5 以及之後的 UA :
Mozilla/5.0 (iPhone; CPU iPhone OS 5_0_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9A405 Safari/7534.48.3
可以發現,iOS5 開始,『 U 』消失了。
②『 U 』的意思?為什麼 iOS5 開始就沒有『 U 』
『 U 』是加密等級的標識,『 U 』表示「 128AES 」強數據加密,相對於『 I 』弱安全加密「 40AES 」和『 N 』無安全加密。
- iOS4 以及更低的版本,均是使用「 128AES 」類型進行加密。在 UA 中標示為『 U 』 。
- 而從 iOS5 開始,數據開始使用「 256AES 」類型進行加密。由於『 U 』 是特指「 128AES 」類型,所以 UA 中不再有『 U 』 。
通俗解釋就是:
- iPhone;U; 早期版本的iOS
- iPhone; 現役版本的iOS
帶「 iPhone;U;」字樣跟互聯網欺詐訂單有什麼關係?
蘋果公司在 2011 年年末發布的 iPhone4s 自帶 iOS5 ,所以帶「 iPhone;U;」字樣的設備最高的型號也只是 iPhone4( iPad 2 或者過時的iPod Touch 4 ) 。而今 iOS 已經經歷了多個版本的迭代,這裡面又有多少是 iOS4 呢?
在發現了一批欺詐訂單都具有這個特點之後,我們不禁想到:
2016 年在線購物的人,還會用著過時的 iOS4 系統嗎?
最大的可能性,就是「某些人」用著一批被市場淘汰的設備,發揮它的「剩餘價值」。在被風控業務人員發現之前,這麼做,其實也不算太笨。
一個值得思考的擴展問題
問:UserAgent 能夠被修改嗎?
答:可以。主流瀏覽器有專門修改 UserAgent 的插件,並且網路上也流傳著各種修改的方法。但是所有的修改,也只是在一個現有的 UA 庫里選擇,並不能做到真正意義上的自定義。
推薦閱讀: