SharedWorker和用戶隱私

最近做實時聊天,用到SharedWorker。目前爲止,IE和Safari一直沒有支持SharedWorker。過去可以認爲是微軟人品有問題,不過現在IE10、IE11在支持標準方面做得其實也不差。那麼爲什麼IE不支持SharedWorker?我查了一下,發現這個2011年的討論:[url]http://lists.w3.org/Archives/Public/public-webapps/2011AprJun/thread.html#msg269[/url]。

簡單說,微軟的人認爲SharedWorker存在隱私隱患。根據spec,如果兩個不同域的網站都包含相同的第三方域在iframe中,這兩個iframe可以發起SharedWorker來互相通訊(從而可能泄漏用戶信息,如知道同一個用戶訪問了這兩個域的網站)。

讀了討論兩遍並大致思考後,總結如下:

1. 嵌入相同域的iframe,則iframe本來就可以幹許多事情,比如連接服務器。但是光能連服務器是不夠的。要獲得用戶信息,必須有標識client身份的方式。比如cookie、localStorage、IndexedDB等機制。

2. 瀏覽器廠商可以或已經對上述機制做了隱私增強。比如IE的禁止第三方cookie追蹤。

3. SharedWorker的問題在於它提供了一種新的用戶關聯機制。

4. 一種可能的限制方式是,如果iframe的嵌套鏈路的origin有不匹配,就不允許連接到原先的SharedWorker,而是新建一個Worker。

5. SharedWorker本身應增加cross-origin的能力,這樣不需要通過iframe來曲線救國。

6. iframe可能需要更多限制方式,比如限制iframe請求不發送referrer。

7. 微軟還是比較扯淡,因爲其實可以實現出來並加以限制,而不用一直不實現。


以上。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章