Shopware 5.2.x - 没有可用的会话数据

Shopware 5.2.x - No session data available

我们三个不同的 Shopware 5.2.x 安装产生以下错误,但并非总是如此。主要是用户注册页面。每个安装都有我们自己的自定义插件。

exception 'Shopware\Components\CSRFTokenValidationException' with message 'The provided X-CSRF-Token for path "/checkout/saveShippingPayment/sTarget/checkout/sTargetAction/index" is invalid. Please go back, reload the page and try again.' in /engine/Shopware/Components/CSRFTokenValidator.php:161

除了从配置中禁用 CSRF protection 之外,还有什么原因和解决方案?

正如您所说的异常并非总是抛出,我的最佳猜测是 CSRF 验证有时会因会话超时而失败。我不知道您的 Shopware 安装 运行 遇到这种情况的频率。我的测试环境每天产生 1-2 次此错误。如果您认为它发生得太频繁,您可以尝试增加 php 会话生命周期 -> session.gc_maxlifetime – 默认值为 1440(秒)

您可能还想检查并最终考虑更新。在官方存储库中有几个改进 CSRF 保护处理的提交(例如 https://git.io/vDxrV

Google 集成和 PayPal-Plus 也存在已知问题,如果您正在使用它们,请尝试更新...(提示来自此处,德语:https://synonymous.rocks/shopware-5-2-csrf-token-is-invalid/

如果您需要进一步的帮助,请提供更多详细信息,例如:

  • 您具体使用哪些 Shopware 版本?
  • 你能重现错误吗?如果是,是在什么情况下?
  • 您 config.php 的内容(发布前删除凭据)