推特警告用戶,Firefox瀏覽器會快取非公開訊息,導致用戶的私訊內容(Direct Message)可能曝光,為此,Firefox技術長Eric Rescorla 親上火線回應表示,推特沒有使用標準的方法,禁止瀏覽器快取網頁內容,而Chrome、Safari和Edge之所以沒有快取推特的私訊內容,就是因為沒照標準來。

推特日前在隱私中心發文警告用戶,當在公用電腦使用Firefox瀏覽器存取推特應該特別小心,在下載推特封存資料,或是以私訊發送與接收圖像資料時,即便用戶在Firefox登出帳戶,這些資料仍然會留存在公用電腦上,而根據Firefox瀏覽器的快取保留設定,這些資料會留存7天,之後才會自動從快取中刪除這些資料;其他瀏覽器不受這個問題影響。

雖然這些資料只會暫存在本地裝置上,而且推特也已經修改了實作方法,但還是建議Firefox用戶,當用戶正使用,或是曾經在公用電腦上瀏覽推特,應該手動清除瀏覽器的快取,避免其他人有機會在公用電腦瀏覽用戶的個人資訊。

在推特公告完這個消息之後,Eric Rescorla也在Mozilla部落格回應這個事件,Eric Rescorla除了表示這個問題只會影響使用共用電腦的推特用戶之外,也解釋為什麼只有Firefox受到影響。他提到,這並非誰對誰錯的問題,每個瀏覽器處理快取的方法都有不同,不過,的確有一個標準的方法可以確保資料不被瀏覽器快取,而推特並沒有使用這個方法,因此Firefox才會快取推特用戶的個人資料。

Mozilla在技術部落格詳細說明了其中的細節;快取機制是加速用戶瀏覽網頁內容的方法,讓瀏覽器不需要花時間重新下載,就能重複使用已經下載的內容,但是究竟瀏覽器該快取那些內容?網際網路工程任務工作組發布了RFC 7234,來規範網頁快取的工作方式,開發者可以使用Cache-Control標頭,讓網頁伺服器告訴瀏覽器快取,要用什麼方式處理內容。

網頁伺服器可以使用Cache-Control標頭,告訴瀏覽器要快取的內容以及快取留存的時間,也可禁止瀏覽器快取敏感的用戶個人訊息,Cache-Control中有一個名為no-store的控制項,可以指示瀏覽器不在快取中留存任何內容,而這是能夠確保網頁訊息不被快取的唯一方法。不過,當伺服器沒有提供Cache-Control資訊的情況下,瀏覽器就會以啟發式快取,快取大部分網頁內容來加速網頁瀏覽,瀏覽器會猜測應該快取的內容以及應該留存的時間,每個瀏覽器的機制都不同。

但是推特並沒有使用no-store的控制項,因此各瀏覽器便使用各自的啟發式快取邏輯來快取內容,Mozilla表示,之所以推特測試其他瀏覽器不會快取推特個人隱私內容,是因為這些瀏覽器在網站使用HTTP標頭Content-Disposition時,也會禁用啟發式快取,但是Content-Disposition選項是讓網站標示要下載的內容,以及要用來儲存內容的名稱,這個標頭與快取無關,因此Firefox僅是按照標準配置,只要網站沒有Cache-Control相關配置,就啟動啟發式快取。

Mozilla建議在共用電腦使用Firefox瀏覽推特的用戶,可以利用瀏覽器的清除最近歷史紀錄功能,清除推特的快取,而開發者應該仔細檢視網站內容,在個人資訊使用Cache-Control: no-store設定。另外,Mozilla也提醒,網站開發人員應該要了解網頁標準與瀏覽器實際行為的差異,避免未來可能出現預料之外的狀態。


Advertisement

更多 iThome相關內容