2017-02-14 36 views
4

我知道,max_input_vars在php.ini值默認爲1000(我使用的是5.6版)。我的POST數據被截斷了,所以我需要增加這個值。這確實解決了我的問題。當改變這些值時,我只想了解它實際上究竟影響了什麼。php.ini中的max_input_vars實際上會產生什麼影響?什麼是安全高價值?

如果我向後端發送一個數據數組,這是否意味着它只能包含大約1000個元素?它看起來並不像我的表格總和出來1000個輸入字段,所以我試圖找出這個數字是什麼。

,什麼是安全的高數,我可以去? 10000會被認爲太高?

+0

說不清,爲什麼1需要超過1000個變量,甚至20個?我的最先進的更新頁面不超過幾個參數。也許存儲你想要在一個文件中使用的數據併發布。 – Xorifelse

回答

2

基本上這就是我們所說的「健康檢查」。它將請求限制在一個合理的水平,以防止諸如拒絕服務攻擊之類的事情發生。

From the manual

多少輸入變量可以被接受(限制適用於_GET,$ _ POST和$ _COOKIE超全局另發)。該指令的使用減輕了使用散列衝突的拒絕服務攻擊的可能性。如果有更多的輸入變量超出此指令指定的範圍,則發出E_WARNING,並從請求中截斷更多輸入變量。

簡而言之,將其提升到任何您需要的值,只要記住這會讓您更容易受到可能導致服務器崩潰的攻擊的影響。本身沒有「安全」號碼。只是不要超載你的服務器,否則你的PHP請求可能會開始超時或內存不足。

相關問題