欢迎光临
一个学习的网站

SameSite策略浏览器域名跨域限制和探索-问题汇总

业务需求

在工作中需要一个域名(http://a.a.com)下给两个域名(https://a.b.com,http://b.b.com)写入cookie,发现的问题是一个可以写入成功,一个写入不成功

下面出现的现象

1、A域名写入B域名(成功)

2、A域名写C域名(失败)提示:(尝试通过Set-Cookie标头设置Cookie的操作被禁止了,因为此标头具有”Secure“属性但不是通过安全连接接收的。)

总结问题

因为防止(WEB安全漏洞-CSRF)谷歌在Chrome 80稳定版中和以后版本添加了SameSite强制执行限制,默认情况下SameSite=None更改为了SameSite=Lax并且浏览器做了仅针对 HTTPS 域名才支持 SameSite=None 配置。所以如果你要设置 SameSite=None 的话,则必须还要携带 Secure 属性才行。

  • SameSite=None:无论是否跨站都会发送 Cookie
  • SameSite=Lax:允许部分第三方请求携带 Cookie
  • SameSite=Strict:仅允许同站请求携带 Cookie,即当前网页 URL 与请求目标 URL 完全一致

以上限制造成了,http域名给http域名写cookie不成功原因

目前受影响浏览器为:Chrome版本大于80

不受影响浏览器为:Microsoft Edge、Chrome版本小于80

参考:

https://zhuanlan.zhihu.com/p/397317451

 

 

 

 

赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《SameSite策略浏览器域名跨域限制和探索-问题汇总》
文章链接:https://zixijiaoshi.com/2032.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫打赏

微信扫一扫打赏