Php 会话相关apc变量

Php 会话相关apc变量,php,caching,apc,Php,Caching,Apc,我想在数据存储中存储一个合理的密钥(只是为了避免将其存储在标准会话中),但我想使其仅可供存储在其中的会话访问 我怎样才能做到这一点 非常感谢据我所知,APC不为存储变量提供任何访问保护(即,您可以从每个会话访问所有存储变量) 如前所述,您可以简单地使用当前会话密钥作为前缀。但是,如果应用程序内部没有进一步的保护,数据将只受会话密钥的保密保护,但在其他情况下仍然可以从每个会话访问。据我所知,APC不为存储变量提供任何访问保护(即,您可以从每个会话访问所有存储变量) apc_store(sessio

我想在数据存储中存储一个合理的密钥(只是为了避免将其存储在标准会话中),但我想使其仅可供存储在其中的会话访问

我怎样才能做到这一点


非常感谢

据我所知,APC不为存储变量提供任何访问保护(即,您可以从每个会话访问所有存储变量)


如前所述,您可以简单地使用当前会话密钥作为前缀。但是,如果应用程序内部没有进一步的保护,数据将只受会话密钥的保密保护,但在其他情况下仍然可以从每个会话访问。

据我所知,APC不为存储变量提供任何访问保护(即,您可以从每个会话访问所有存储变量)

apc_store(session_id() . "_key", $value);

如前所述,您可以简单地使用当前会话密钥作为前缀。但是,如果应用程序内部没有进一步的保护,数据将只受会话密钥的保密性保护,否则仍然可以从每个会话访问。

php memcached扩展支持在memcached中存储会话。如果您打算扩展一台服务器,则无论如何都需要这样做。请在apc密钥前加上会话密钥?。。。不管怎样,这有什么意义?正常治疗有什么问题吗?@Tiberiu IonuțStan谢谢,好主意。正常的会话太不安全了。。我想存储一个加密密钥@日出你说太不安全是什么意思?如果攻击者可以读取其会话数据,因为他可以访问您的系统。所以他也可以读取APC内容。@Tiberiu IonuțStan但是APC内容在RAM中(对吗?),会话数据在磁盘中。php memcached扩展支持在memcached中存储会话。如果您打算扩展一台服务器,则无论如何都需要这样做。请在apc密钥前加上会话密钥?。。。不管怎样,这有什么意义?正常治疗有什么问题吗?@Tiberiu IonuțStan谢谢,好主意。正常的会话太不安全了。。我想存储一个加密密钥@日出你说太不安全是什么意思?如果攻击者可以读取其会话数据,因为他可以访问您的系统。所以他也可以阅读APC内容。@Tiberiu IonuțStan,但APC内容在RAM中(对吗?),会话数据在磁盘中。谢谢!您能建议进一步的保护吗?有几点需要考虑:(1)小心使用
apc\u fetch
。确保仅使用正确的前缀调用它,并且不允许使用用户定义的键。(2) 使用类似于
apc\u cache\u info
的方法时要更加小心,因为这些方法可能会泄露所有当前会话密钥(真正的大安全问题!)。(3) 确保您的服务器上没有可访问的APC管理脚本,因为攻击者可以使用此脚本访问会话密钥。总而言之,我相信您最好只使用
$SESSION
变量来存储敏感数据……我想我将使用APC存储敏感数据,但使用随机密钥加密(存储在会话中并在登录时生成)。你觉得这个解决方案怎么样?谢谢!您能建议进一步的保护吗?有几点需要考虑:(1)小心使用
apc\u fetch
。确保仅使用正确的前缀调用它,并且不允许使用用户定义的键。(2) 使用类似于
apc\u cache\u info
的方法时要更加小心,因为这些方法可能会泄露所有当前会话密钥(真正的大安全问题!)。(3) 确保您的服务器上没有可访问的APC管理脚本,因为攻击者可以使用此脚本访问会话密钥。总而言之,我相信您最好只使用
$SESSION
变量来存储敏感数据……我想我将使用APC存储敏感数据,但使用随机密钥加密(存储在会话中并在登录时生成)。你认为这个解决方案怎么样?
apc_store(session_id() . "_key", $value);