【问题标题】:Are there extensions which delete cookies the moment you leave a site?是否有在您离开网站时删除 cookie 的扩展程序?
【发布时间】:2021-09-19 15:39:31
【问题描述】:

我正在构建一个电子商务网站,但在使用两个不同的支付网关时遇到了问题。访客输入他们的卡详细信息,然后进入 3D Secure 步骤,这需要访问他们的银行网站。当他们从那里返回时,他们在我们的网站上没有 cookie,我们无法识别它们来链接订单。

使用一个支付网关,这会导致订单失败;另一方面,付款通过,但未链接到任何特定帐户或购买的产品。显然,这两个都是问题。

我知道很多浏览器会在关闭浏览器时清除 cookie,但我不知道有什么会因为您离开网站片刻而清除 cookie。 (此外,在两个支付网关之一上,3D 安全步骤是在 iframe 中完成的,因此用户甚至还没有离开网站。)正在消失的是用户的会话。

具体问题:

  1. 会话 cookie 具有这种易失性是否很常见?这是我无法复制自己的行为。是否有一些常见的浏览器设置或插件会积极(并且过早地)删除会话 cookie?
  2. 是否有其他原因导致我看到的效果?

【问题讨论】:

  • 我不知道我们是否在谈论“标准”重定向(即,没有卷曲之类的)。例如,您确定您没有从http://www.example.org 重定向到支付网关并获得重定向回调到http://example.org?此外,大多数支付网关在其支付状态通知中都包含某种信息(订单 ID 等),可让您将此类事件与用户相关联。
  • 个这样的浏览器扩展,我使用的是github.com/Cookie-AutoDelete/Cookie-AutoDelete(我对此非常满意,因为它让我可以“是啊,无论如何”到所有 GDPR cookie 弹出窗口)……但我认为这很可能不是您的问题的原因。它可能与您的会话 cookie 的 SameSite 设置有关,因此请检查一下。 developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/…
  • 嗯。自动将SameSite 设置从“Lax”升级到“Strict”的浏览器设置很可能会导致我看到的问题。很可能就是这样,@CBroe。
  • @CBroe。将会话SameSite 设置为“Strict”确实允许我重现问题(然后提供解决方法),就是这样。你想把它写成答案吗?

标签: php apache session-cookies


【解决方案1】:

可能有其他原因导致我看到的效果?

在这种情况下,如今它通常与会话 cookie 的 SameSite 属性有关。

Strict 值将阻止在第三方网站发起的任何请求中发送 cookie。当用户从支付网关被重定向回您的站点时,即从第 3 方站点“导航”,并且不会发送 cookie;所以你自己的会话在那个时候不能被接听。

【讨论】:

    猜你喜欢
    • 2014-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-27
    相关资源
    最近更新 更多