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(); 查閱預設的參數)

參考 http://www.mapbender.org/Suhosin

Comments

  1. 想問您是用專屬主機嗎?我最近卡在這個設定上
    也是用server zoo的主機,但我應該是虛擬主機的關係所以server zoo不開放給我改…

    查了半天說要在php.ini上面加上一行suhosin.perdir = “p”
    才可以用.htaccess改…所以等於無解

    不知道您有沒有什麼其他繞過的方法?感謝

    • 您好,如果有無法解決的問題,可以直接寫信去問 Server Zoo 的客服喔,他們的工程師回應速度還算快,也能幫您解決您要的問題~~

發表迴響