当前位置: 首页 >知识百科 > 内容

SameSite是什么知识介绍

知识百科
导读 目前关于大家提出的SameSite是什么这个问题,大家都希望能够得到一个答案,那么小编今天就去收集了一些SameSite是什么相关的内容来分享...
2023-09-28 21:00:31

目前关于大家提出的SameSite是什么这个问题,大家都希望能够得到一个答案,那么小编今天就去收集了一些SameSite是什么相关的内容来分享给大家,如果大家感兴趣的话可以接着往下看。

SameSite是Cookie中的一个属性用来限制第三方Cookie,从而减少安全风险。Chrome 51 开始,浏览器的Cookie新增加了一个SameSite属性,用来防止CSRF攻击和用户追踪。

Chrome 51 开始,浏览器的 Cookie 新增加了一个 SameSite 属性,用来防止 CSRF 攻击和用户追踪。Cookie 的 SameSite 属性用来限制第三方 Cookie,从而减少安全风险。

Web 前端安全,从影响面看排名前两位的就是 XSS 和 CSRF,其基本原理都是攻破了浏览器同源策略的限制。CSRF 漏洞目前的措施一般是验证 referer 或者是用安全 token。而 google 则希望从标准层面去根治这个排名第二的前端安全漏洞。其方案就是给 Cookie 新增一个属性,用这个属性来控制什么情况下可以发送 Cookie,这个属性就是我们今天要讨论的 SameSite 属性。

SameSite 属性有三个枚举值,分别是 strict/lax/none。Strict 最为严格,完全禁止第三方 Cookie,跨站点时,任何情况下都不会发送 Cookie。换言之,只有当前网页的 URL 与请求目标一致,才会带上 Cookie。Lax 规则稍稍放宽,大多数情况也是不发送第三方 Cookie,但是导航到目标网址的 Get 请求除外。

设置了 Strict 或 Lax 以后,基本就杜绝了 CSRF 攻击。当然,前提是用户浏览器支持 SameSite 属性。Chrome 计划将 Lax 变为默认设置。这时,网站可以选择显式关闭 SameSite 属性,将其设为 None。不过,前提是必须同时设置 Secure 属性(Cookie 只能通过 HTTPS 协议发送),否则无效。

对于依赖三方 Cookie 的业务,比如登录组件,商业化组件等,需要做技术改造来适应 Google 的这个调整。就像对抗一样,Web 安全治理需要整个行业技术生态的支持,从这个角度看,我们互联网技术人应该积极响应和支持 Google 的这个策略。

稍微尴尬的是有些企业还没有这个觉悟,比如我们常用的 Java Web 开发底层框架,Servlet 的 Cookie 类还没有支持这个新的属性,需要我们自己去实现。希望 Google 这一举动能反向驱动整个行业生态,共同来根治 CSRF 漏洞。可以预见 3-5 年以后,互联网的江湖将不再存在 CSRF 这个漏洞了。

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、删除,谢谢您的支持与理解。