php.ini中的Max Input Vars在性能和安全性之间

时间:2014-04-21 14:28:22

标签: php performance security phpbb3

我在PHPbb3论坛中提交表单时遇到了问题,特别是那些在大型输入字段的管理面板中,这确实是一个很大的论坛。但是,在php日志中我注意到了一个警告:

[21-Apr-2014 07:36:37 Europe/Belgrade] PHP Warning:  Unknown: Input variables exceeded 1000. To increase the limit change max_input_vars in php.ini. in Unknown on line 0

我将值增加到2500,但警告仍然是。但是,在将其设置为10000之后,它就会消失并且表单正确提交。

我的问题是:安全性和/或我的服务器的性能是否有任何问题?

1 个答案:

答案 0 :(得分:1)

当然,在表单帖子中使用数千个变量也有缺点。服务器和客户端的性能都将下降。所有值都经过多次编码,复制和解码,因此会降低性能和内存。为什么?

但我说这不是重点。你应该考虑的事情是这样的:为什么这些东西在帖子中需要数千个变量?这听起来疯了。我建议你重新考虑背后的架构。应该有一个更容易和更强大的解决方案。一种典型的方法是将所有这些变量编码为单个变量,通常是一些JSON数据块。

到目前为止,我只看到一个架构示例,其中有人试图将csv文件编辑器实现为单个基于html / http的表单,将所有字段作为单独的变量发布。相信我,有更好的方法。