我遇到ZF3 ajax格式的CSRF元素间歇性问题。我正在使用以下内容来配置元素
$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)。
我以非ajax形式在网站的其他地方使用了相同的CSRF元素,并且它可以正常工作,没有任何问题。
任何帮助将不胜感激。
谢谢。