php – 解決input 名稱過長無法接收post或get的問題
這次使用了serverzoo 的主機
因為可以自行設定php.ini,所以可以修改一些參數。
在特別需求下,我的 form 表單使用了特別長的 <input name=”我使用了sha512 的64位元長度”>
當POST到 php的時候,會無法接收 <input name=”我使用了sha512 的64位元長度”>
網路提到的不多,大多只談到 max_input_vars 的數量
但會影響我這種情形的,是一個叫做 suhosin 的機制系統 (韓語叫做保護神)
大概是可以盡可能保護一些傳輸上的難以預料的漏洞機制…
所以我猜應該是設定了 input name 限制長度
所以在 suhosin 個別修改了 request、get、post長度的限制
google 後大概修改了 php.ini 的一些設定
把它添加到 php.ini
(請注意你的 suhosin 是否開啟,可用phpinfo(); 查閱預設的參數)
suhosin.request.max_array_index_length = "5000" suhosin.request.max_totalname_length = "5000" suhosin.request.max_value_length = "5000" suhosin.request.max_varname_length = "5000" suhosin.request.max_vars = "5000" suhosin.get.max_array_index_length = "5000" suhosin.get.max_name_length = "5000" suhosin.get.max_totalname_length = "5000" suhosin.get.max_value_length = "5000" suhosin.get.max_vars = "5000" suhosin.post.max_array_index_length = "5000" suhosin.post.max_name_length = "5000" suhosin.post.max_totalname_length = "5000" suhosin.post.max_value_length = "5000" suhosin.post.max_vars = "5000"
參考 http://www.mapbender.org/Suhosin
黃本松
2017-08-14 - 21:39
想問您是用專屬主機嗎?我最近卡在這個設定上
也是用server zoo的主機,但我應該是虛擬主機的關係所以server zoo不開放給我改…
查了半天說要在php.ini上面加上一行suhosin.perdir = “p”
才可以用.htaccess改…所以等於無解
不知道您有沒有什麼其他繞過的方法?感謝
JSN
2017-08-15 - 10:15
您好,如果有無法解決的問題,可以直接寫信去問 Server Zoo 的客服喔,他們的工程師回應速度還算快,也能幫您解決您要的問題~~