Php SameSite=Lax阻止来自同一域的cookie,并称之为';这是不同的领域

Php SameSite=Lax阻止来自同一域的cookie,并称之为';这是不同的领域,php,google-chrome,firefox,samesite,Php,Google Chrome,Firefox,Samesite,我有一个页面,它重定向到一个外部URL,客户在其中添加数据,然后返回到我的站点。但是,当返回客户时,浏览器会阻止会话cookie,因为“请求来自不同的站点”。这在FireFox(SameSite=Lax)中100%都会发生,在Chrome中“只要它愿意”。我不明白为什么会发生这种情况,它是如何看待这个站点的不同以及这个站点到底是什么(开发工具中没有任何信息) 这将阻止客户注销,我需要他们登录 任何帮助都将不胜感激 我想你想要的是:当用户回到你的站点时,他不再需要登录。因此,在后端,只需将cook

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

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


任何帮助都将不胜感激

我想你想要的是:当用户回到你的站点时,他不再需要登录。因此,在后端,只需将cookie的标志设置为
Samesite=None;安全
。这将使浏览器发送cookie,而不管他来自何处(外部域)。

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

是的,但我不想将cookie发送到外部域。这是一个安全问题。我想知道为什么它会被识别为不同的域,因为返回的URL与设置cookie的URL位于同一个域中。是的,你是对的,这将是一个安全问题。顺便说一句,你可以尝试打开一个新窗口,而不是重定向。因此,客户添加了数据,添加完毕后,窗口关闭。这样你就不必再处理你网站的cookies了。