2011-07-12 4 views
0

Je suis nouveau sur PHP et Zend, et je voudrais mettre en cache des données sensibles sur un utilisateur connecté. Le problème est que je ne veux pas que l'utilisateur puisse changer les valeurs de ces données, donc je ne sais pas comment les stocker. Je voulais stocker dans Zend_Register une fois que l'utilisateur s'est connecté, mais je ne pense pas que ce soit la bonne solution.Persistance des données sensibles dans Zend

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

Puis-je récupérer les données dans un autre contrôleur:

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

Y at-il une autre façon de le faire? comme stocker les valeurs dans les cookies, et vérifier leur intégrité avec un hachage, ou la mise en place d'un cache côté serveur par session ...

Merci à l'avance, Jerec

+0

Utilisez Zend_Session –

Répondre

2

je suggère d'utiliser Zend_Session

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

Maintenant, la partie interessting, de prendre soin d'intégrité, vous pouvez utiliser une sorte de hachage .. (non sûr si c'est une bonne solution?). Mais si le serveur est configuré correctement , la session devrait être sauver ..

+0

je choisi une autre manière avec les sessions, mais je vous remercie de votre réponse, je l'utilise à des fins différentes par la suite. J'utilise Zend_Session :: regenerateId(); et mettre cet ID la ligne de l'utilisateur dans la base de données. Je pense que les probabilités de générer la même Id de session sont légères –

3

Zend_Registry n'est pas persistant et il est objectif est pour le partage de données temporaires dans l'application et est perdu après la fin du script.

Si vous souhaitez obtenir des données persistantes, utilisez Zend_Session

Questions connexes