Проблема Zend_Form_Element_Hash (непонятная документация?) - PullRequest
0 голосов
/ 20 октября 2010

В документации написано, что достаточно включить элемент Zend_Form_Element_Hash в форму и что защита от CSRF автоматически обрабатывается Zend_Form.

Я добавил токен так:

$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

Нужно ли использовать какой-либо метод также во время проверки формы?

1 Ответ

3 голосов
/ 20 октября 2010

Пробовали ли вы, установив соль как некоторую четко определенную (или, по крайней мере, повторяемую) строку?

Когда Zend_Form проверяется, ему необходимо заново создать хеш из данных сеанса, а затем сравнить с тем, что было отправленои если он применяет другую соль, это может привести к несоответствию токенов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...