iframe内的页面没有看到自己的cookie



我们有两个网站在不同的域名。为简单起见,我们设它们为:

  • "App":一个在main-app.com/app上运行的SPA应用程序
  • "Host":在random-site.com/index.html上运行的一个简单的index.html页面。index.html页面只包含一个iframe显示应用程序(指向main-app.com/app)。

当我作为一个用户,去到应用程序(main-app.com/app)并登录那里时,它在我的浏览器中设置了一个会话cookie,该cookie标识会话。但是,当我转到主机页面(random-site.com/index.html)并加载应用程序的iframe时,会话cookie没有被发送。当我在网络检查器中查看它时,它只是被省略了。

为什么会发生这种情况?是什么阻止cookie被发送,我们如何解决这个问题?

(我们可以控制两个站点)

你在用Google Chrome吗?在Google Chrome浏览器中,cookie的默认属性已更改为samessite =lax。Samesite =lax cookie不是在iframe中发送的。此更改的目的是减轻诸如CSRF之类的攻击。如果您使用Firefox,您应该仍然登录到iframe中的页面。

相关内容

  • 没有找到相关文章

最新更新