2010-10-20 91 views
0

它是在文檔中寫入的,它足以在表單中包含Zend_Form_Element_Hash元素,並且由Zend_Form自動處理CSRF保護。Zend_Form_Element_Hash問題(不清楚的文檔?)

我已經加入令牌是這樣的:

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

但提交任何形式與該令牌後,我得到這個錯誤:

The two given tokens do not match 

我是否需要表單驗證過程中使用的任何方法以及?

回答

3

你是否試過將鹽設置爲一些明確的(或至少可重複的)字符串?

當Zend_Form驗證時,它需要從會話數據中重新創建哈希,然後與提交內容進行比較,如果應用不同的鹽,則會導致令牌不匹配。

+0

明天我會試試。謝謝。 – 2010-10-20 18:49:34

相關問題