網址中可能含有敏感資料
當使用者點擊網頁中的連結時,瀏覽器就會連接到新的網頁,而新開啟的網頁也會收到1組參考資訊,其中包含使用者原本所在的來源網頁。舉例來說,如果讀者從Facebook粉絲團點擊電腦王網頁連結,那麼電腦王網頁就能知道,這位使用者是由Facebook粉絲團進入。
而這個來源網頁的資訊,稱為HTTP參照位址(HTTP Referer),它是HTTP表頭的欄位之一,其格式如「Referer: https://www.facebook.com/PCADVfans/posts/1653098268061698」。有趣的是,「介紹人」的正確英文拼法為Referrer,但是因為早期HTTP規範誤拼為Referer,於是為了顧及相容性,於是就將錯就錯,但如DOM Level 2、Referrer Policy等範曾試圖修正拼字問題,造成前拼法並不統一。
然而這個功能可能會將使用者的資料洩露給網站,雖然在從表面看來,只是單純讓新網頁能知道使用者是由哪個網頁中的連結連入,但是糟糕的是,瀏覽器也會將資料傳送給廣告商、社群媒體等網站,換句話說許多嵌入網頁的物件也能掌握使用者在網路上的動向。
大部份的網站經營者都會記錄HTTP參照位址資料,做為營運與流量分析的參考數據,而有些經營者也可能將這些資料出售給廣告商。
剔除敏感資料
然而根據電子前哨基金會(Electronic Frontier Foundation)的研究發現,有些網頁的網址包含敏感資料,我們以下面這組Health Care網站的網址為例:
https://www.healthcare.gov/see-plans/85601/results/?county=04019&age=40&smoker=1&pregnant=1&zip=85601&state=AZ&income=35000
網站的設計者可能希望透過網址來傳送使用者基本資料,所以把年齡、是否吸煙、是否懷孕、郵遞區號,甚至是收入等資訊都列入網址後方的查詢字串(Query Sstring)。所以使用者從這個網頁連結到其他網頁後,可能造成這些資料會成為HTTP參照位址,而被其他網頁或第三方服務擷取。
為了避免這種資料外洩的情況發生,Firefox在第59版中改善了隱私瀏覽模式的設計,瀏覽器將不再傳送完整網址作為HTTP參照位址,而會剔除相對路徑與查詢字串,所以上述例子中網頁的HTTP參照位址就變成:
Referer: https://www.healthcare.gov/
如果使用者也想在一般瀏覽模式中防止HTTP參照位址衍生的風險的話,可以參考官方提供的參數說明,在Firefox瀏覽器的網址列輸入「about:config」,將「network.http.referer.XOriginTrimmingPolicy」項目參數調整為1或2,或是依照個人喜好調整其他設定參數。
加入電腦王Facebook粉絲團