2011-07-12 121 views
0

我是PHP和Zend的新手,我想緩存有關已記錄用戶的敏感數據。問題是我不希望用戶能夠更改這些數據的值,所以我不知道如何存儲它。Zend中敏感數據的持久性

我想在用戶登錄後將它存儲在Zend_Register中,但我不認爲這是正確的解決方案。

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

然後我在另一個控制器檢索數據:

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

是否有另一種方式做到這一點?像餅乾存儲的值,並用散列檢查它們的完整性,或設置-了每個會話的服務器端緩存...

由於提前, 傑瑞克

+0

使用Zend_Session –

回答

2

我建議用Zend_Session

$session = new Zend_Session_Namespace('sensetive_data'); 
$session->name = 'User'; 
$session->email = '[email protected]'; 

現在interessting部分,照顧完整性你可以使用某種散列..(不當然,如果這是一個好的解決方案?)。但如果服務器是配置正確,該會話應該保存..

+0

我選擇了與會話不同的方式,但感謝您的答覆,我可能會在稍後用於不同的目的。我使用Zend_Session :: regenerateId();並將該用戶行放在數據庫中。我認爲生成同一會話ID的概率很小 –

3

Zend_Registry不是持久的,它的目的用於在應用程序內共享臨時數據並在腳本完成後丟失。

如果你想永久數據,使用Zend_Session