关于cookie的SameSite属性,我们其实可以看阮一峰老师的这篇:Cookie 的 SameSite 属性
大致在这里就概况下
1,SameSite 是谷歌浏览器针对 cookie 新增的一个属性,主要作用就是为了防止 CSRF 攻击和用户追踪
那么关于CSRF攻击是什么,不懂得同学可以看上面那篇阮一峰老师的教程,里面有详细的说明,我们也一句话概括吧,下面:
Cookie 往往用来存储用户的身份信息,恶意网站可以设法伪造带有正确 Cookie 的 HTTP 请求,这就是 CSRF 攻击。
2,那么SameSite 属性到底是怎么实现了防止CSRF攻击和用户追踪呢?
cookie的sameSite属性就是用来限制第三方网站拿到你的cookie,从而达到减少风险的效果。
比如我们常用的 swagger ,本地测试时,调用login接口,然后查询其他接口会带上cookie,
但是如果我们谷歌浏览器打开了SameSite开关,然后我们在本地调用测试环境的接口时,会发现其他接口拿不到login的setCookie,从而导致登录无效
只有我们关闭浏览器的sameSite开关,我们才可以获得不同域名的setCookie
关于SameSite的详细属性以及说明,请参考阮一峰老师的教程
那么我们怎么关闭谷歌的SameSite设置呢?
1,首先,我们在谷歌输入 chrome://flags/
2,然后我们输入框输入 :SameSite by default cookies、Cookies without SameSite must be secure
3,设置上面这两项设置成 Disable
然后重启谷歌就可以关闭这个设置了
当然,如果你不想设置谷歌你也可以通过设置cookie实现访问
关于cookie的设置
报文里面set-cookie,添加SameSite=None; Secure=true
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。