【问题标题】:What does max_input_vars in php.ini actually affect and what is a safe high value?php.ini 中的 max_input_vars 实际上会影响什么,什么是安全的高值?
【发布时间】:2017-02-14 22:27:30
【问题描述】:

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

如果我向后端发送数据数组,这是否意味着它只能包含大约 1000 个元素?我的表格总和似乎不是 1000 个输入字段,所以我试图弄清楚这个数字的用途。

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

【问题讨论】:

  • 说白了,为什么1需要1000多个变量,甚至20个?我最高级的更新页面只需要几个参数。也许将您要使用的数据存储在文件中并发布。

标签: php apache http-post


【解决方案1】:

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

From the manual

可以接受多少个输入变量(限制分别应用于 $_GET、$_POST 和 $_COOKIE 超全局变量)。使用此指令可降低使用哈希冲突的拒绝服务攻击的可能性。如果输入变量多于该指令指定的数量,则会发出 E_WARNING,并从请求中截断更多输入变量。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-07
    • 1970-01-01
    • 2023-03-15
    • 1970-01-01
    • 2021-05-12
    相关资源
    最近更新 更多