当前位置:  开发笔记 > 程序员 > 正文

如何使用Zend_Form_Element_Hash?

如何解决《如何使用Zend_Form_Element_Hash?》经验,为你挑选了1个好方法。

然后我试图使用Zend_Form_Element_Hash它每个请求重新生成一个哈希.

在我的代码中:

 // form
 $this->addElement('hash', 'hihacker', array('salt' => 'thesal'));

然后我转储$ _SESSION我看到每个页面重新加载的新值.

然后我发送一个表格,它报告错误"令牌'28a5e0e2a50a3d4afaa654468fd29420'与给定的令牌'a64407cc11376dac1916d2101de90d29'"不匹配,每一次 - 新的一对令牌



1> tawfekov..:
$form = new Form();
$form->addElement('hash', 'hihacker',
    array('salt' => 'YOUR TOO MUCH SALTY TEXT !!@@'));
if ($this->_request->isPost() && $form->isValid($this->_request->getPost())) {
    // Valid ! you are safe do what ever you want .
} else if (count($form->getErrors('request_token')) > 0) {

    ///get him to the error controller 
    $this->_forward('csrf-forbidden', 'error');
    return;
}

它对我来说非常好,但请仔细检查你的会话设置

"在内部,元素使用Zend_Session_Namespace存储唯一标识符,并在提交时检查它(检查TTL是否已过期).然后使用'Identical'验证器确保提交的散列与存储的散列匹配.'formHidden' view helper用于在表单中呈现元素." 表单ZF文档

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有