Проверка Zend Framework 2 CSRF

У меня есть база приложений на Zend Framework 2. У меня есть форма с полем CSRF. Если я заполняю форму и отправляю через 5 минут, это дает мне The form submitted did not originate from the expected site Ошибка проверки.

Поэтому я предположил, что это может быть проблемой с настройками сеанса. Затем я добавил варианты SessionConfig на module.config.php как следует

'session' => array(
'remember_me_seconds' => 2419200,
'use_cookies' => true,
'cookie_httponly' => true,
'cookie_lifetime' => '2419200',
'gc_maxlifetime' => '2419200'
),

Но проблема все еще существует. Вы знаете, как решить эту проблему?

—Обновить—

Мой класс формы содержит элемент CSRF следующим образом:

    $this->add(array(
'type' => 'Zend\Form\Element\Csrf',
'name' => 'security',
'options' => array(
'csrf_options' => array(
'timeout' => 20000
)
)
));

Кажется, ничего из этого не работает.

0

Решение

Система Csrf в ZendFramework настраивает продолжительность сеанса из параметра, сохраненного в конфигурации элемента Csrf в разделе timeout ключ, как показано в следующем примере:

$form->add([
'type' => Element\Csrf::class,
'name' => 'csrf',
'options' => [
'csrf_options' => [
'timeout' => 600,
],
],
]);
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector