这是我如何将csrf添加到表单中
$this->addElement('hash', 'csrf', array('ignore' => false));
当发生这种情况时会创建会话,然后当用户发送ajax请求时,通过创建表单实例来验证请求中的值,并且自初始请求开始以来,表单始终对第一个ajax请求有效.创建了html输出,
当第二次发送ajax请求时会发生不同的事情,
该表单的实例具有与原始表单不同的csrf值,并且当我的代码完成时,最初创建的会话也被销毁,因此没有会话来检查接收到的值,因此表单不会验证并发生以下错误.
No token was provided to match against
事件的哪些想法,表单的csrf值会自动存储在会话中?
哈希值在呈现时生成,并在每个请求之后无效.
如果要继续使用Zend_Form_Element_Hash
表单可能多次提交的AJAX表单,则AJAX响应应包含新的哈希值.收到回复后,您应该更新表单数据.