新版本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 重新加载下即可

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值