2014-04-21 25 views
0

我在PHPbb3論壇中提交表單時遇到問題,尤其是在輸入字段較大的管理面板中,確實是大型論壇。然而,在PHP日誌中,我注意到一個警告:php.ini中性能和安全性之間的最大輸入變量

[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後,消失,表單提交正確。

我的問題是:它有任何安全問題或/和我的服務器的性能是10000?

回答

1

當然,在表單文章中使用數千個變量是有缺陷的。雙方,服務器和客戶端的性能都會下降。所有的值都被編碼,複製和解碼幾次,所以這消耗了性能和內存。什麼?

但我想說這不是重點。你應該考慮的一件事是:爲什麼這些東西需要在帖子中包含數千個變量?這聽起來瘋了。我建議你應該重新考慮背後的架構。應該有一個更容易和更強大的解決方案。一種典型的方法是將所有這些變量編碼在一個單獨的變量中,通常是一些JSON數據塊。

到目前爲止,我所看到的架構如果有人試圖執行一個CSV文件編輯器作爲一個單一的HTML/HTTP基於表單的一個例子,張貼各個領域作爲獨立變量。相信我,對此有更好的方法。

+0

你是對的,但該應用程序是由phpbb3社區編寫的。但是,你的筆記應該在那裏提及。 – SaidbakR

+2

好的,那麼我的建議可能會改變:你確定你想用這樣一個瘋狂的體系結構的軟件?這種方法告訴你其他實施的質量如何?問問你自己這個簡單的問題:什麼可能是真正需要數千個後期變量來實現一些論壇功能的情況? – arkascha

+0

事實上,這種情況只適用於組和權限管理,而不是所有應用程序的部分,因此,根據您認爲的事實,不會重複或每個會話都會發生持續的情況。 – SaidbakR