微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

PHP加密的SSL会话数据

我有2台服务器正在运行,
一种用于动态内容(Nginx,PHP)
一个用于登录(apache2,PHP)

我使用内存缓存共享会话信息

升级了服务器软件,此后对Apache中的会话数据进行了加密

阿帕奇:
session :: write(“ sessions / s53mqdhghmlrvnvjt05novt4m2”,“加密数据”,0,1440)

Nginx
session :: write(“ sessions / s53mqdhghmlrvnvjt05novt4m2”,“ test | i:1;”,0,1440)

在两台服务器上,会话ID相同,并且会话Cookie仍会传递sessionId,以便所有会话ID都应像

两个服务器使用完全相同的PHP.ini

我查看了ssl conf,但找不到任何可以将会话数据设置为加密的内容

任何人都知道我可以在apache / mod_ssl上阻止会话数据被加密的地方

编辑:
好吧,我找到了可行的解决方案,但我仍然发现问题的根源
我确实知道会话数据必须离开PHP进程才能由mod_ssl加密
脚本结束后,PHP将在清理操作中调用会话保存处理程序.
但是文档中没有记录这种行为.

解决方法是,暂时不保存PHP在session :: write提供的数据,而是使用session_encode()再次生成会话哈希并将其保存

对于那些确实知道如何以及为什么我真的想知道关闭加密数据指令的读者.

解决方法:

如果像我一样加载了suhosin模块,则可能是问题的根源.您可以通过将suhosin ini文件中的suhosin.session.encrypt设置为off来完全禁用它或关闭会话加密.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐