隱私權聲明
本公司關心使用者隱私權與個人資訊,並遵守本公司的網站隱私政策,使用者若有任何問題,可以參考本公司的「網站隱私政策」,或利用電子郵件或連絡電話詢問本公司.
2019
10
30

Chrome 80將採用新的Cookie安全模型預設無法跨站存取Cookie [轉載於iThome]

關鍵字:網頁設計專案開發網路行銷

Chrome 80之後,Cookie需要使用SameSite=None設定以及HTTPS連接,才能被外部服務存取。

Google預告明年即將到來的Chrome 80,將會正式啟用新的Cookie安全模型,未來開發者想要跨網站存取Cookie,必須要明確的使用SameSite=None語法,當沒有特別指定的時候,Chrome將預設拒絕Cookie被跨網域存取。Mozilla確認會支援新的Cookie分類模型,並在Firefox實作SameSite=None,而微軟將在Edge 80開始實驗性測試。

網站通常由廣告、內容推薦、第三方小工具以及社交平臺嵌入等各種外部服務共同組成,當使用者瀏覽網頁的時候,這些外部服務可能會在瀏覽器中儲存Cookie,並在之後透過這些Cookie來個人化使用者瀏覽體驗,或是量測受眾的參與度。

Cookie的使用分為跨網站(Cross-Site)與同網站(Same-Site)上下文,每個Cookie都有一個相關聯的網域,當Cookie關聯的網域和瀏覽器網址列中的網域不相同,則視為跨網站上下文(下圖),反之,當Cookie關聯的網域和瀏覽器網址列中網域相同,則會被視為同網站上下文,通常同網站Cookie是用來登入個別網站、記錄使用者偏好,並支援網站分析之用。

去年主要瀏覽器都支援了SameSite這個屬性,讓開發者增加Cookie存取限制,避免被意料之外的外部服務存取,以提高Cookie安全性,但由於需要額外增加設定,限制才會生效,因此現在Google決定讓預設從嚴。

主要的瀏覽器在去年都為Cookie加入了SameSite屬性,當開發人員使用SameSite=Lax或是SameSite=Strict,就能防止網站Cookie被外部服務存取,但是目前仍只有很少的開發人員遵循這個推薦實作,而大量同網站的Cookie仍對外暴露,產生跨站請求偽造攻擊的威脅。

因此為了保護更多的網站和用戶,Chrome將採用新的安全模型,預設保護所有的Cookie,除非進行額外設定,否則瀏覽器會拒絕外部存取同網站Cookie。開發者可以使用新的Cookie設定SameSite=None,來指定Cookie允許跨網站存取,而使用這個新設定還有額外的安全限制,外部只能透過HTTPS連接存取。如此,瀏覽器也能為用戶增加額外的控制功能,讓使用者自己決定哪些Cookie接受外部存取,以增加安全性與透明度。

這項新的Cookie安全模型將會在2020年2月發布的Chrome 80開始實施,Cookie沒有指定SameSite值都會被視作SameSite=Lax,而使用SameSite=None且使用安全連接,才會允許外部存取。由於這項改變對影響不少網站的正常功能,Google建議開發者應該儘早開始測試,而且許多函式庫和語言都還沒有支援SameSite=None,因此開發者應該直接設定Cookie標頭。

另外,未支援SameSite=None的瀏覽器,包含部分版本的Chrome和Safari等瀏覽器,可能會以意想不到的方式執行SameSite=None,開發人員應該為這些瀏覽器撰寫例外程式碼。

你可能有興趣的作品案例
傑立資訊傑立資訊事業有限公司
Powered by AWS Cloud Computing

電話:(02)2739-9096 | 傳真:(02)2739-6637 | 客服:[email protected] | 臺北市信義區和平東路3段257號6樓map

© 2019 傑立資訊 All rights reserved.| 網站隱私政策

線上詢價