Проблема CSRF в Zend Framework 3 с формой Ajax - PullRequest
0 голосов
/ 19 декабря 2018

У меня периодически возникают проблемы с элементом CSRF в форме ajax ZF3.Я использую следующее для настройки элемента

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

и включаю в форму, используя

echo $this->formRow($form->get('onlineGameCsrf'));

Большую часть времени это работает так, как должно, но время от времени, может быть, один вдесять раз не получится.Журналы показывают следующую ошибку.

[notSame] => The form submitted did not originate from the expected site

Я попробовал несколько «исправлений», которые я нашел в SO и других местах.Первым было перемещение $ form-> prepare () в файл представления, а другим было увеличение времени ожидания в конфигурации.Ни один из них не сработал, хотя, возможно, я недостаточно увеличил время ожидания (я достиг максимального значения 2000).

Я использую тот же элемент CSRF в другом месте сайта в не-ajax-формах, и этоработает правильно, без проблем.

Любая помощь будет высоко ценится.

Спасибо.

...