为了账号安全,请及时绑定邮箱和手机立即绑定

会话仅在 Chrome Bigcommerce PHP 应用程序中不起作用

会话仅在 Chrome Bigcommerce PHP 应用程序中不起作用

PHP
慕无忌1623718 2023-11-03 21:25:26
我很担心,我刚刚发现我的 PHP 会话无法在 Chrome 中运行。实际上我正在开发 Bigcommerce 应用程序,它使用 Silex 框架(SessionServiceProvider)在我的应用程序中存储会话。它在 Firefox 中工作正常,但在 Chrome 中却不行。当页面第一次加载时,它会显示会话值,但是当我发送任何 AJAX 请求或使用 POST 请求提交任何表单或从主页发送数据的任何页面请求时,会话变量都会被销毁,但是当我重新启动会话时,它会给出会话已经启动,没有会话变量。此外,我读了这个https://blog.heroku.com/chrome-changes-samesite-cookie 我需要为我的解决方案设置相同的站点。但我找不到如何在我的应用程序会话中设置 Samesite 属性。我使用下面的代码来设置我的应用程序会话$app['session']->set('sessionname','sessionvalue');我尝试使用同一个网站,$app['session']->set('sessionname','sessionvalue',['samesite' => 'None', 'secure' => true]);但不工作。
查看完整描述

1 回答

?
PIPIONE

TA贡献1829条经验 获得超9个赞

我终于找到了解决方案,想写在这里,只是因为它可能对某人有帮助。

我在服务器上的 .htaccess 文件中添加了一个条件,

<If "%{HTTP_USER_AGENT} !~ /(iPhone; CPU iPhone OS 1[0-2]|iPad; CPU OS 1[0-2]|iPod touch; CPU iPhone OS 1[0-2]|Macintosh; Intel Mac OS X.*Version\x2F1[0-2].*Safari|Macintosh;.*Mac OS X 10_14.* AppleWebKit.*Version\x2F1[0-3].*Safari)/i">Header always edit Set-Cookie (.*) "$1; SameSite=None; Secure"</If>


查看完整回答
反对 回复 2023-11-03
  • 1 回答
  • 0 关注
  • 54 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信