Wordpress 丢失与 chrome 的会话

问题描述

几周以来,我们注意到,结帐后返回的客户偶尔会丢失其登录状态。我们发现这种情况只发生在 88 左右的 chrome 版本上。我发现的是,通常的检查

isset(WC()->session->chosen_payment_method)

使用 chrome 时返回 false,使用 firefox 或其他浏览器时返回 true(即使 edge 和 safari 也按预期工作)

有谁知道如何“对抗”这个?

到目前为止,我一直试图找出在用户从 3rd 方站点重定向回来后如何通过 url 参数传递 sessionid 以重建 cookie。但并不是很幸运,这样做甚至似乎存在安全风险,因为这会导致中间人攻击。

谢谢!

解决方法

如果这确实与 SameSite cookie 有关,那么就像 @CBroe 建议的那样,该问题应该至少从一月份就出现了。

Chromium 人员发表了一篇关于潜在问题以及如何检测和修复这些问题的文章。您可以在此处查看Tips for testing and debugging SameSite-by-default and “SameSite=None; Secure” cookies

如果确实链接到 SameSite cookie,这里有一些资源可以开始修复。

但再一次,因为它只影响 Chromium 用户,所以我怀疑它与 SameSite cookie 有关。