新版本chrome瀏覽器(80版本以后)帶來的跨域請求cookie丟失問題


chrome升級到80版本之后(准確的說是78版本之后,灰度測試,如上圖,即也可能存在同一版本不同人的瀏覽器表現不同)

cookie的SameSite屬性默認值由None變為Lax

 此時可以嘗試顯式聲明 Cookie 的SameSite屬性為None,並設置Secure (不然無效)。

 

Cookie 的SameSite屬性用來限制第三方 Cookie,從而減少安全風險。

更多參考:谷歌瀏覽器 Cookie 的 SameSite 屬性 (轉) 

它可以設置三個值。

  • Strict
  • Lax
  • None

None

Chrome 計划將Lax變為默認設置(80版本已實施)。這時,網站可以選擇顯式關閉SameSite屬性,將其設為None。不過,前提是必須同時設置Secure屬性(Cookie 只能通過 HTTPS 協議發送),否則無效。

下面的設置無效。

Set-Cookie: widget_session=abc123; SameSite=None

下面的設置有效。

Set-Cookie: widget_session=abc123; SameSite=None; Secure
 
推薦解決方案:
1.針對正式運行引用,拒絕使用跨域的cookie
2.針對測試,使用,提供方案如下:
第一步:

打開chrome  輸入 chrome://flags/   搜索 SameSite by default cookies   

找到SameSite by default cookies和Cookies without SameSite must be secure
將上面兩項設置為 Disable

第二步:

 底部relaunch 重新加載下即可

 

 

更多:

新版本chrome瀏覽器(80版本以后)帶來的跨域請求cookie丟失問題

谷歌瀏覽器 Cookie 的 SameSite 屬性 (轉)  

Ajax跨域請求附帶Cookie/Ajax跨域請求附帶身份憑證  


免責聲明!

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



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