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 中的 SQL 注入(inject)?

php - BCrypt 中哪里使用了 2x 前缀?

apache - Maven 依赖项排除 : Same artifact-id issue

java - 安装 JMeter 的问题

http-post - Walmart API - 有效负载 mime 类型问题 - 批量创建/更新项目不起作用

php - 使用 PHP 为 Mac 用户编写 CSV 文件

php - 如何在php中检查文件是否为视频类型?

apache - 将子域与 Amazon EC2 公有 DNS 地址一起使用?

android - 如何在改造请求的正文中发布原始的整个 JSON?

iphone - 使用 AFNetworking 将数据上传到 wcf 服务?终于工作了! (包含 c# 和 obj-c 代码)