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

在PHP中从HTTP切换到HTTPS时会话丢失

在PHP中从HTTP切换到HTTPS时会话丢失

PHP
缥缈止盈 2019-08-12 17:25:53
在PHP中从HTTP切换到HTTPS时会话丢失将用户发送到结帐页面时,会将其切换http://sitename.com为https://sitename.com。结果,$_SESSION变量丢失了。该站点具有有效的SSL证书,可能会或可能不会使用。
查看完整描述

3 回答

?
浮云间

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

听起来会话cookie设置为安全。Cookie具有“安全”标志,如果设置为true,则表示cookie不会发送到非https网站。PHP可能正在使用它的会话cookie。您可以使用session_set_cookie_params函数或php.ini中的session.cookie_secure设置更改此设置。


查看完整回答
反对 回复 2019-08-12
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

解决方案假定安全和非安全服务器可以访问相同的后端服务(缓存,数据库存储等)。

当用户在完成购物时将用户发送到我们的结帐流程时,我们必须处理同样的问题。为了解决这个问题,我们设置了一个缓存层并缓存了所有相关数据。例如,我们将从会话值中收集产品ID和用户ID,序列化它们,创建哈希,最后使用哈希作为键将会话数据存储在缓存中。然后,我们将使用url中的哈希将用户重定向到安全站点。

当用户最终进入安全站点时,我们将尝试根据哈希将数据从缓存中提取出来。然后使用用户ID和产品ID,我们可以从数据库中加载所有定价和描述数据,并呈现给用户进行最终结账审核。

存在继承风险,因为缓存数据是易变的,但我们从未遇到过任何问题,因为重定向很快发生。


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 662 浏览

添加回答

举报

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