【问题标题】:Chrome not sending back cookies in iframe after Aug 10, 2020 update2020 年 8 月 10 日更新后,Chrome 未在 iframe 中发回 cookie
【发布时间】:2020-12-05 21:23:09
【问题描述】:

我们有一个 webapp,它在 iFrame 中的不同站点上嵌入了另一个 webapp。这已经实施了几年。上周我们开始收到一些用户的错误报告。经过调查,我们发现在 2020 年 8 月 10 日发布的 Chrome 84.0.4147.125 上,iFrame 中的 cookie 没有发送回服务器。该问题仅在此 chrome 版本之后出现。旧版本和其他浏览器运行良好。

此版本中的哪些更改可能会产生这种影响?

【问题讨论】:

标签: google-chrome cookies iframe cross-site


【解决方案1】:

感谢@Eyal.D 指出解决方案。

https://stackoverflow.com/a/45095345/1401409 中所述:

Chrome 现在会阻止未设置 SameSite 的 cookie,因此您需要 将其显式设置为samesite=none

我可以通过在我的 httpd 配置中添加以下内容来解决此问题:

Header edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=None

我会补充,如https://stackoverflow.com/a/57874184/1401409 中所述:

如果您拥有 somesite.com,您可以通过设置选择退出此政策 SameSite 策略为 None 并通过 a 处理 CSRF 攻击的风险 正在做Double Submit Cookie

【讨论】:

  • 对于那些使用 tomcat 的人可以通过在 Context 部分下的 META-INF/context.xml 中添加 <CookieProcessor sameSiteCookies="none" /> 来修复。还要确保在 server.xml 的 HTTPS 连接器中设置 secure=true 属性
  • 我成功了。在 PHP 7.3 中使用 session_cookie_set_param 并没有得到预期的结果。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-05
  • 1970-01-01
  • 2022-07-20
  • 2020-12-07
相关资源
最近更新 更多