php - php.ini 中的 max_input_vars 实际影响什么,什么是安全的高值?

标签 php apache http-post

我知道 max_input_vars 的 php.ini 值默认为 1000(我使用的是 5.6 版)。我的 POST 数据被截断了,所以我需要增加值。这确实解决了我的问题。更改这些值时,我只想了解它实际上具体影响了什么。

如果我向后端发送一个数据数组,这是否意味着它只能包含大约 1000 个元素?我的表格总和似乎没有达到 1000 个输入字段,所以我想弄清楚这个数字是干什么用的。

我可以达到的安全上限是多少? 10000 会不会太高了?

最佳答案

基本上这就是我们所说的“健全性检查”。它将请求限制在合理的水平,以防止诸如拒绝服务攻击之类的事情发生。

From the manual

How many input variables may be accepted (limit is applied to $_GET, $_POST and $_COOKIE superglobal separately). Use of this directive mitigates the possibility of denial of service attacks which use hash collisions. If there are more input variables than specified by this directive, an E_WARNING is issued, and further input variables are truncated from the request.

简而言之,将它提高到您需要的任何值,记住这会使您更容易受到可能导致服务器瘫痪的攻击。本身没有“安全”号码。只是不要让您的服务器重载,否则您的 PHP 请求可能会开始超时或内存不足。

关于php - php.ini 中的 max_input_vars 实际影响什么,什么是安全的高值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42237409/

相关文章:

php - PHP 中的 MYSQL 表连接

objective-c - 在 Objective C 中通过 POST 上传图片

javascript - 使用 AngularJS 将表单发布到新窗口

php - 在结束后查找额外的空间/新行 ?> (php 标签)

php - SobiPro 导出 - 无限循环

php - 在 sql 表中提交的一个表单上为多行设置唯一 ID

php - 我如何使用 htaccess 强制重定向到安全域

ios - 错误 : Module org. apache.cordova.console 不存在

apache - .htaccess 子文件夹

java - 如何在 java 中发送 Https Post 请求