【问题标题】:SameSite=Lax blocks cookies from the same domain, sayng it's different domainSameSite=Lax 阻止来自同一个域的 cookie,说它是不同的域
【发布时间】:2021-07-03 07:03:28
【问题描述】:

我有一个页面,该页面重定向到外部 URL,客户在其中添加数据,然后返回到我的站点。但是,当返回客户时,会话 cookie 会被浏览器阻止,因为“请求来自不同的站点”。这发生在 FireFox(使用 SameSite=Lax)中 100% 的时间和 Chrome 中的“任何时候”。我不明白为什么会发生这种情况,它如何看待站点不同以及站点的真正含义(开发工具中没有信息)。

这会阻止客户注销,我需要他们登录。

任何帮助将不胜感激!

【问题讨论】:

    标签: php google-chrome firefox samesite


    【解决方案1】:

    我做了一个解决方法。我把它贴在这里,以防有人遇到同样的问题并且修复对他们有用。当用户被重定向到另一端时,我将在返回 URL 中发送一个会话 ID。如果用户返回但未登录,我添加具有该 ID 的 cookie 并刷新页面,这样用户返回登录。

    【讨论】:

      【解决方案2】:

      我认为您想要的是:当用户回到您的网站时,他不再需要登录。因此,在您的后端,只需将 cookie 的标志设置为 Samesite = None; Secure。这将使浏览器无论他来自哪里(外部域)都发送cookie。

      【讨论】:

      • 是的,但我不想将 cookie 发送到外部域。那是一个安全问题。我想知道为什么它被识别为不同的域,因为返回 URL 与设置 cookie 的域在同一个域中。
      • 是的,你是对的,这将是一个安全问题。顺便说一句,您可以尝试打开一个新窗口而不是重定向。因此,客户确实添加了他们的数据,完成后,窗口关闭了。这样您就不必再处理您网站的 cookie。
      猜你喜欢
      • 2020-12-20
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 2018-03-12
      • 2019-01-14
      • 2020-12-09
      相关资源
      最近更新 更多