起緣

因為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中,不排除未來有更多的瀏覽器也會跟進。

作者

Mark Ku

10 年以上的軟體工程師,做過北美電商與 AI SaaS 訂閱收費系統。閱讀更多

覺得這篇有幫助?

作者做的免費工具、每日 Podcast 與電子報,都在這裡。

Mark Ku · 本文採用 CC BY 4.0 授權,轉載請註明作者並附上原文連結。

留言

訂閱電子報

訂閱後即時收到新文章通知,不錯過任何技術分享。

提交即表示同意接收電子報,隨時可。

熱門文章

View all
Mark Ku
··633

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案

Oracle Cloud 永久免費方案 Linux 主機及固定 IP :0 元打造雲端解決方案
Mark Ku
··464

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南

告別 Postman 收費陷阱!開源 Git 原生 API 測試神器 Bruno 實戰指南
Mark Ku
··249

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略

一款免費開源類似於 Notion 類知識庫系統 — Outline Wiki 佈署與備份全攻略
Mark Ku
··205

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1

打造高效 API 管理平台:從 0 開始部署 Kong Gateway - Part 1
Mark Ku
··202

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取

在 Ubuntu 上設置 Samba 來共享資料夾,讓 Windows 11 用戶可以存取
Mark Ku
··198

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調

訓練自己的 AI 語音:硬體門檻、開源模型比較與 LoRA 微調