天天看點

小心了,即将推出的Chrome、Firefox100可能存在嚴重風險

小心了,即将推出的Chrome、Firefox100可能存在嚴重風險

據BleepingComputer消息,Mozilla向網站開發人員發出警告,即将推出的 Firefox 100和 Chrome 100版本浏覽器存在嚴重風險,在解析包含三位數版本号的使用者代理字元串時可能會破壞網站。

當你浏覽一個網頁時,你的浏覽器會向你所通路的網站的伺服器發送使用者代理字元串。該字元串會表明你使用的是哪種浏覽器,它的版本号,還有你的系統的細節,比如是什麼作業系統及它的版本。這樣浏覽器就會利用這些資訊提供符合你的浏覽器的特定内容。

例如,Mozilla Firefox97版本的目前使用者代理字元串是:

Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:97.0) Gecko/20100101 Firefox/97.0

目前版本的 Google Chrome 98,使用者代理字元串是:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36

100版本的使用者代理字元串存在風險

2021年8月,Mozilla啟動了一項實驗,以檢視三位數的“Firefox/100”使用者代理字元串是否會導緻網站出現問題。随即,谷歌很快跟進了他們自己的 Chrome 100版本的實驗。

在這兩個實驗中,Mozilla 和 Google 發現少數網站在解析包含三位數版本号的使用者代理字元串時無法正常運作。

從那時起,Mozilla就一直在跟蹤由100版本所引起的網絡錯誤,并在HBO Go、Bethesda、 Yahoo、Slack和Duda 網站建構器建立的網站上發現了問題。在大多數情況下,這些問題的範圍從網站聲明不支援浏覽器到影響網站部分的使用者界面問題。

Mozilla在更改使用者代理字元串的文章中解釋道,如果沒有遵循單一規範,不同的浏覽器對User-Agent字元串和特定于站點的User-Agent解析有不同的格式。某些解析庫可能有寫死的假設或沒有考慮到的錯誤三位數的主要版本号。

而當浏覽器遷移到兩位數版本号時,許多庫改進了解析邏輯,是以預計達到三位數是出現的問題将大大減少。

接下來,Mozilla 和 Google 将繼續為100版的使用者代理進行相關的實驗,直到 Chrome 浏覽器和Firefox浏覽器正式釋出。倘若在100版本釋出之前尚未完成問題修複工作,屆時Mozilla或Google将準備其他的計劃,確定網站不受影響。

針對Firefox,Mozilla有一個站點幹預機制來當機 Firefox/99 的使用者代理或注入CSS 或其他覆寫來修複錯誤。

同樣,Chrome 計劃将使用者代理字元串中顯示的版本當機為99,并在使用者代理字元串的另一部分報告實際版本。

至于網站開發人員和管理者,Mozilla 要求他們測試更改為Firefox 100和Chrome 100的使用者代理,檢視是否會破壞他們的網站。

參考來源

https://www.bleepingcomputer.com/news/software/mozilla-warns-chrome-firefox-100-user-agents-may-break-sites/