2010-10-20 17 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