2010-10-20 8 views
0

Il est écrit dans la documentation qu'il suffit d'inclure l'élément Zend_Form_Element_Hash dans un formulaire et que la protection CSRF est gérée automatiquement par Zend_Form.Problème Zend_Form_Element_Hash (documentation peu claire?)

J'ai ajouté le jeton comme ceci:

$token = new Zend_Form_Element_Hash('security_token_against_csrf'); 
$token->setSalt($this->_helper->randomString()); 
$form->addElement($token); 

Mais après avoir soumis toute forme avec un tel jeton j'obtenir cette erreur:

The two given tokens do not match 

Ai-je besoin d'utiliser toute méthode lors de la validation de formulaire ainsi que?

Répondre

3

L'avez-vous essayé en définissant le sel comme étant une chaîne bien définie (ou au moins répétable)? Lorsque Zend_Form est validé, Zend_Form doit recréer le hachage à partir des données de session, puis le comparer à ce qui a été soumis et, s'il applique un sel différent, les jetons ne correspondent pas.

+0

Je vais essayer ça demain. Merci. –