Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php “;CSRF令牌无效。请尝试重新提交表格”;在Symfony3中_Php_Forms_Symfony_Kubernetes_Csrf - Fatal编程技术网

Php “;CSRF令牌无效。请尝试重新提交表格”;在Symfony3中

Php “;CSRF令牌无效。请尝试重新提交表格”;在Symfony3中,php,forms,symfony,kubernetes,csrf,Php,Forms,Symfony,Kubernetes,Csrf,我有一个Symfony 3应用程序,它是通过Kubernetes部署的。有一个页面包含2个表单和2个数据表,其中包含服务器端处理。我正在使用Redis进行会话存储。我在提交任何一个表单时,都会随机出现错误“CSRF令牌无效。请尝试重新提交表单”。如果我只有2个(2个表单,0个表,1个表单,1个表;0个表单,2个表)的任意组合,我不会得到错误。每次提交表单时都会发送令牌 有人能提供一些提示,说明原因是什么吗? 我已经在Stackoverflow上尝试了类似问题的解决方案,但没有效果 编辑: 我只是

我有一个Symfony 3应用程序,它是通过Kubernetes部署的。有一个页面包含2个表单和2个数据表,其中包含服务器端处理。我正在使用Redis进行会话存储。我在提交任何一个表单时,都会随机出现错误“CSRF令牌无效。请尝试重新提交表单”。如果我只有2个(2个表单,0个表,1个表单,1个表;0个表单,2个表)的任意组合,我不会得到错误。每次提交表单时都会发送令牌

有人能提供一些提示,说明原因是什么吗? 我已经在Stackoverflow上尝试了类似问题的解决方案,但没有效果

编辑:

我只是注意到,当CSRF错误发生时,我在cookies中没有看到sf_重定向。所有成功的呼叫都有此cookie

更新:

我找到了解决办法。我更新了防火墙配置

firewalls:
    main:
        stateless: true

在它成为无状态之前:false

请确保在html表单中包含一个新的
csrf\u令牌



为了确保CSRF在表单上,您可以使用
{{form_rest(form)}}
添加,但是如果您处于开发模式,可能是因为您没有使用https?

我正在通过form_start()呈现表单;form_widget();form_end();我还向表单中添加了公共函数配置选项(选项解析器$resolver){$resolver->setDefaults(['csrf\u field\u name'=>'\u token','intention'=>'form\u intention',]];}。令牌的名称应为name=“\u csrf\u token”?令牌始终被发送,但无效