Изменить срок действия хэша (токена) Zend Framework - PullRequest
2 голосов
/ 08 февраля 2012

Я использую ZF Zend_Form_Element_Hash для защиты моей формы от CSRF.Однако проблема заключается в том, что срок действия созданного токена истекает слишком рано.Я предполагаю, что проблема связана с временем жизни сеанса, потому что именно там он хранится.

Я использую этот код для его генерации:

$token = new Zend_Form_Element_Hash('tk');
$token->setSalt(md5(uniqid(mt_rand(), TRUE)));

Есть ли способ, которым я могу сделатьтокен действителен в течение более длительного периода времени?

Я правильно делаю или есть лучший способ?Я новичок в Zend Framework.

1 Ответ

5 голосов
/ 08 февраля 2012

В Zend_Form_Element_Hash также есть свойство timeout, которое служит TTL для токена CSRF.По умолчанию это 300 секунд (5 минут).

Вы можете увеличить этот тайм-аут, передав значение для timeout в качестве опции.

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

Zend_Form_Element_Hash API Doc

...