Chrome 80:Google 终于对第三方cookie出手了

行业资讯 Haran 4年前 (2020-02-11) 2507次浏览 0个评论

Google 终于对第三方cookie出手了

Chrome 80:Google 终于对第三方cookie出手了

 

201924号, Chrome 80稳定版(版本号v80.0.3987.87)已正式面向WindowsmacOSLinuxAndroidiOS全平台推送,此次更新有很多的改变,但我主要关注里面的cookie政策,这次更新的cookie政策明显是为了满足IETF提案《Incrementally Better Cookies》提出的两个关键更改:

  • 没有Samesite属性的cookie将视为SameSite=Lax
  • Samesite=None的cookie必须设置为安全,意味着可以使用安全的上下文

 

因为原有开放的cookie政策意味着用户容易受到CSRF跨站请求伪造和意外信息泄露的影响,如CSRF可以利用网站漏洞和和用户未退出第三方网站进行攻击,XSS读取第一方cookie造成信息泄露,这些风险可以通过校验规避一些,但为鼓励开发者为可以提供更安全的用户体验,所以IETF提出该提案。

Chrome 80中,Chrome会将没有声明SameSite值的cookie默认设置为SameSite=Lax;只有采用SameSite=None; Secure设置的cookie可以从外部访问,前提是通过安全连接(HTTPS)访问。

跟IETFF的填建议是一一对应的,Chrome 80的cookie规则可以拆分成两条:

  • 第一个,Cookie默认设置为SameSite=Lax,会禁止第三方cookie的使用
  • 第二个,SameSite = None拒绝不安全的的cookie,要使用第三方cookie,Chrome将要求开发人员将第三方Cookie设置为SameSite = None,并将其标记为安全,使用https的安全形式

Chrome 80 预计是在2019年2月份完成更新,Firefox和Edge也会跟进,但没有公布时间表。

什么是SameSite呢?

Chrome 80:Google 终于对第三方cookie出手了SameSite是cookie标准的一部分,用于定义cookie如何跨域发送。这是谷歌开发的一种安全机制,用来防止CSRF攻击和用户追踪,none是在2018年才增加上去,目前一共有三个值:strict、lax和none,在2017年11月,Chrome、Firefox、Edge、Safari和Opera支持前两个值,在2019年5月,谷歌公布将未设置Samesite的,统一设置成none,但在Chrome 80,也就是2020年2月后默认是lax。

  • Strict:严格模式,表明这个 cookie 在任何情况下都不可能作为第三方 cookie只有当前网页的 URL 与请求目标一致,才会带上 Cookie。这种情况通常用于只有少数人登录的后台系统。
  • Lax:宽松模式,仅当浏览器URL显示的域名和cookie的域名匹配,才发送此有此设置的cookie,这个是chrome 80中cookie的最新默认设置,详见上面规则第一条。
  • None:设置为none表示可以跨域发送。

Samesite对第三方cookie的做了限制,所以使用到第三方的cookie,需要根据这个要求去做调整,开发需要工作了。另外使用samesite=lax或samesite=严格的语法就可以防止Cookie被外部服务访问,不用再去校验,更方便。

自从苹果的ITP,Firefox的ETP变得越来越严格,第三方cookie被排挤的节奏了,感觉要放弃它了,确实是的,Google已经宣称在将不支持第三方cookie,但有两年的过渡期。

总结:Chrome对第三方cookie做了更严格的限制,对第一方cookie没有形象,需要主动设置Samesite的值;如果需要使用第三方cookie,那么需要设置为none而且是Secure且通过https发送。


如有疑问,可以在文章底部留言或邮件(haran.huang@ichdata.com) 我~
喜欢 (1)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

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