Mark Ku's Blog
首頁 關於我
SameSite Issue
Frontend
SameSite Issue
Mark Ku
Mark Ku
December 21, 2020
1 min

關於SameSite Cookie Issue

起緣

因為GDPR法規關係,各大瀏覽器會限縮網頁的第三方網站,去寫入Cookie,對使用者進行廣告追蹤, 而我們的產品端常常會被客戶鑲嵌(iframe) 在網站中,因此踩到此限制。

曾經發生的問題

  1. Windwos update IIS 將預設的Cookie 嚴格模式改成Lax (後來產品端透過Url Rewrite 依據不同的user agent 去蓋掉Response Header 設定值)

  2. Safari 在某次更新後對Cookie做了限制,禁止第三方網站寫入Cookie (做完POC後驗證可行性後和產品部門討論,最後採用蘋果的Storeage Access api)

解決方案

短期

1.將網頁導到產品方網站。
2.採用蘋果的Storeage Access api
平台端:iframe sandbox 要加allow-same-origin allow-storage-access-by-user-activation 產品端:在set cookie的頁面需要要加上一個按鈕讓使用者確認按下,執行storage access api。

中長期(產品端)

  1. 採 Token Base 驗證機制 (產品端不再使用Cookie)
  2. 移除Sticky Cookie(需要考量之後log怎麼追)。
  3. 移除Cookie Data。

補充

  1. iOS 13 的 SameSite bug iphone 13以前的版本有bug,SameSite設定值只要有值就會視同為Lax 不能給SameSite=none,因此要給SameSite=""
  2. Storage access api 支援度 新edge及Chrome 己支援Storage access api,並在BETA中,不排除未來有更多的瀏覽器也會跟進。

Tags

Mark Ku

Mark Ku

Software Developer

9年以上豐富網站開發經驗,開發過各種網站,電子商務、平台網站、直播系統、POS系統、SEO 優化、金流串接、AI 串接,Infra 出身,帶過幾次團隊,也加入過大團隊一起開發。

Expertise

前端(React)
後端(C#)
網路管理
DevOps
溝通
領導

Social Media

facebook github website

Related Posts

實作JWT驗證所遇到的問題
實作JWT驗證所遇到的問題
July 24, 2020
1 min

Quick Links

關於我

Social Media