Zend中敏感数据的持久性

时间:2011-07-12 15:11:57

标签: zend-framework session caching persistence

我是PHP和Zend的新手,我想缓存有关已登录用户的敏感数据。问题是我不希望用户能够更改此数据的值,因此我不知道如何存储它。

我想在用户登录后将其存储在Zend_Register中,但我认为这不是正确的解决方案。

Zend_Registry::set('ud', $userData);

然后我在另一个控制器中检索数据:

$ud = Zend_Registry::get('ud');

还有其他办法吗?比如将值存储在cookie中,并使用散列检查它们的完整性,或者为每个会话设置服务器端缓存......

提前致谢, 杰瑞克

2 个答案:

答案 0 :(得分:3)

Zend_Registry不是持久的,它的目的是在应用程序内共享临时数据,并在脚本完成后丢失。

如果您想要持久数据,请使用Zend_Session

答案 1 :(得分:2)

我建议使用Zend_Session

$session = new Zend_Session_Namespace('sensetive_data');
$session->name = 'User';
$session->email = 'Email@email.com';

现在是有意义的部分,为了照顾完整性,你可以使用某种哈希..(不确定这是否是一个很好的解决方案?)。但如果服务器配置正确,则会话应保存..