Chrome 80 中 Iframe 跨域傳 Cookie 的 Samesite 問題


我們知道,通過設置Access-Control-Allow-Credentials: truexhr.withCredentials = true,可以實現跨域傳遞Cookie. 達到保存用戶登錄態等目的。但使用不當,也會有CSRF風險。
所以,從Chrome 51開始,瀏覽器的Cookie新增加了一個SameSite屬性,用來防止CSRF攻擊和用戶追蹤。
該設置當前默認是關閉的,但在Chrome 80之后,該功能默認已開啟。
所以當你無法使用某些網站第三方登錄功能的時候,請查看一下是否受到了該設置的影響。

    • 對於使用者,快速解決方案:

      方案1. 打開Chrome設置,將chrome://flags/#same-site-by-default-cookies禁用,然后重啟瀏覽器。

      方案2. 使用低版本瀏覽器,可選擇極速360

    • 對於開發者,解決方案:

      方案1. 將SameSite屬性值改為None, 同時 將secure屬性設置為
      true。且需要將后端服務域名必須使用https協議訪問。
      方案2. 由於設置SameSite = None,有SCRF風險,所以,最佳方案是用token代替Cookie方式作驗證。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM