Session 更改表单哈希(令牌)到期Zend框架

Session 更改表单哈希(令牌)到期Zend框架,session,zend-framework,hash,csrf,Session,Zend Framework,Hash,Csrf,我正在使用ZF的Zend\u Form\u Element\u Hash来保护我的表单免受CSRF的攻击。 然而,问题是生成的令牌过期过快。我猜问题在于会话生存期,因为它存储在那里 我使用以下代码生成它: $token = new Zend_Form_Element_Hash('tk'); $token->setSalt(md5(uniqid(mt_rand(), TRUE))); 有没有办法让代币的有效期延长 我做对了还是有更好的方法?我是Zend Framework的新手。Zend_

我正在使用ZF的
Zend\u Form\u Element\u Hash
来保护我的表单免受
CSRF
的攻击。 然而,问题是生成的令牌过期过快。我猜问题在于会话生存期,因为它存储在那里

我使用以下代码生成它:

$token = new Zend_Form_Element_Hash('tk');
$token->setSalt(md5(uniqid(mt_rand(), TRUE)));
有没有办法让代币的有效期延长


我做对了还是有更好的方法?我是Zend Framework的新手。

Zend_Form_Element_散列中还有一个
timeout
属性,用作CSRF令牌的TTL。默认值为300秒(5分钟)

您可以通过传递
timeout
的值作为选项来增加此超时

$token = new Zend_Form_Element_Hash('tk', array('timeout' => 900)); // 15 minute TTL