php加密的ssl session 数据

标签 php apache session ssl encryption

我有 2 个服务器在运行, 一个用于动态内容(nginx、php) 另一个用于登录(apache2、php)

我使用内存缓存来共享 session 信息

我升级了服务器软件,此后 apache 中的 session 数据被加密

Apache :
session::write("sessions/s53mqdhghmlrvnvjt05novt4m2","加密数据",0,1440)

nginx:
session::write("sessions/s53mqdhghmlrvnvjt05novt4m2","test|i:1;",0,1440)

在两台服务器上,session-id 是相同的,并且 session cookie 仍然传递 sessionId,因此一切仍然正常工作

两台服务器使用完全相同的 php.ini

我查看了 ssl conf,但我找不到任何可以将 session 数据设置为加密的东西

任何人都知道我在哪里可以阻止 session 数据在 apache/mod_ssl 上被加密

编辑:
好吧,我找到了一个有效的解决方案,但我仍然没有找到问题的根源 我知道 session 数据必须离开 php 进程由 mod_ssl 加密 session 保存处理程序在脚本结束后由 php 在清理操作中调用。
但是文档中没有记录这种行为。

目前的解决方案是不保存 php 在 session::write 中提供的数据,而是使用 session_encode() 再次生成 session 哈希并保存

对于那些确实知道如何以及为什么我真正想知道关闭加密数据的指令的阅读本文的人。

最佳答案

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

关于php加密的ssl session 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3969792/

相关文章:

php - 在函数 pdo 中输入数组

java - 没有 cookie 的 session 管理

oracle - 按一定数量递增 Oracle 序列

php - INSERT 查询不返回对象

php - 您可以添加要在跨域 fopen 调用上发送的 http header 吗?

php - php文件中的8个空格如何使apache崩溃?

php - Codeigniter 3 删除 index.php 问题

apache - 将所有请求重定向到 index.php

api - 第三方Cookie-具有/ session 跟踪的跨域API

php - Magento - 向 sales_flat_quote_item 和 sales_flat_order_item 添加新列