Php 索纳塔CSRF令牌无效,尽管形式正确
在使用Symfony/Sonata时,我们面临着CSRF令牌无效错误 以前,同样的代码工作得很好。我们保证通过表单正确发布令牌。奇怪的是,该错误仅针对选定的实体出现 在这里浏览所有其他Q/A并不能解决问题 如果客户端和服务器之间的常规通信正常,还有什么会使CSRF令牌无效?解决方案: 在php.ini中增加Php 索纳塔CSRF令牌无效,尽管形式正确,php,symfony,csrf,sonata-admin,Php,Symfony,Csrf,Sonata Admin,在使用Symfony/Sonata时,我们面临着CSRF令牌无效错误 以前,同样的代码工作得很好。我们保证通过表单正确发布令牌。奇怪的是,该错误仅针对选定的实体出现 在这里浏览所有其他Q/A并不能解决问题 如果客户端和服务器之间的常规通信正常,还有什么会使CSRF令牌无效?解决方案: 在php.ini中增加max\u input\u vars,至少超过默认值1000: max_input_vars=2000 原因: 我们在nginx日志中找到了导致CSRF令牌失败的原因。事实上,令牌失效只是一
max\u input\u vars
,至少超过默认值1000:
max_input_vars=2000
原因:
我们在nginx日志中找到了导致CSRF令牌失败的原因。事实上,令牌失效只是一个普遍问题的症状
以下三个错误日志条目允许访问解决方案:
max\u-input\u-vars
定义了一个$\u-POST请求将接受多少输入变量。如果(默认)限制超过1000,PHP将截断“来自请求的更多输入变量[…”。因此,CSRF令牌被PHP从$\u-POST-var截断。