新版本chrome瀏覽器帶來的跨域請求cookie丟失問題(setCookie警告提示)


新版本的chrome瀏覽器(80版本之后)對cookie的校驗更加嚴格,有頁面嵌套的可能會出現問題。

chrome升級到80版本之后(最坑的地方:灰度測試,即也可能存在同一版本不同人的瀏覽器表現不同),cookie的SameSite屬性默認值由None變為Lax,該問題的討論可參考:https://github.com/google/google-api-javascript-client/issues/561

解決方法1

報文里面set-cookie,添加SameSite=None; Secure=true

  以此設置之后只能走https協議

 

解決方法2
兩個跨域的網站部署到一起,例如
www.xxx.com/A網站
www.xxx.com/B網站

  在頂級域名中寫入cookie,在子域名中便可以隨取隨用。

 

解決方法3:
谷歌瀏覽器里面:
chrome://flags/
  把SameSite by default cookies、Cookies without SameSite must be secure參數設置成disabled

 

總結:

如果對外項目,面向有用戶群,一般都是選擇方案一,比如淘寶等都是采取的這種方式。

視情況而定可采取方案二。

方案三更適合個人使用場景。


免責聲明!

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



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