Chrome 80 中 Iframe 跨域 Cookie 的 Samesite (用来防止CSRF攻击和用户追踪)

Chrome 80 中 Iframe 跨域 Cookie 的 Samesite (用来防止CSRF攻击和用户追踪)

遇到的问题:

新项目要嵌入之前的一个项目,而且该被嵌入项目之前提供给第三方使用,他们也是用的iframe。以前都是好的,但是现在发现要是iframe的地址和父级的地址不同源,项目登录时无法设置cookie。

从 Chrome 51 开始,浏览器的 Cookie,新增加了一个 SameSite属性,用来防止 CSRF攻击和用户追踪。该设置当前默认是关闭的,但在 Chrome 80 之后,该功能默认已开启。所以当你无法使用某些网站第三方登录功能的时候,请查看一下是否受到了该设置的影响。

*对于使用者,快速解决方案:
1.方案1. 打开 Chrome
设置,将 chrome://flags/#same-site-by-default-cookies
禁用,然后重启浏览器。
2. 方案2. 使用低版本浏览器,可选择70版。

对于开发者,解决方案:

  1. 方案1. 将 SameSite
    属性值改为 None
    , 同时 将 secure
    属性设置为
    true
    。且需要将后端服务域名必须使用 https
    协议访问。
  2. 由于设置 SameSite = None
    ,有 SCRF
    风险,所以,最佳方案是用 token
    代替 Cookie
    方式作验证。

CSRF 攻击

CSRF攻击

SameSite 属性

SameSite

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值