我正在扩展一个 Web 应用程序,该应用程序的表单中包含一个列表字段。但是这个列表可以有很多用户想要的值(value)。
最后一个字段是CSRF Token
{{ form_widget(form._token) }}
测试我发现,当我添加尽可能多的字段时,我可以在表单中发生 CSRF 错误:
The CSRF token is invalid. Please try to resubmit the form.
问题是对于表单中太大的信息,Symfony
Controller 会中继信息,并且不会解析 POST
请求的最终部分。如果我颠倒顺序并将最后一个字段设置为列表,则列表将不会发送完整。
我的问题:
- 这是 HTTP 协议(protocol)的限制?
- 如果
是
,是否有好的解决方案来处理这个限制?
最佳答案
这可能是 PHP 中的 max_input_vars
设置,而不是截断您发布的数据的 Symfony。
你能发布phpinfo();
的内容吗?
通常,您可以在 php.ini 文件中为每个虚拟主机或服务器范围覆盖此 PHP 配置设置。
关于php - 最后的字段在 POST 中丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33922371/