理论上讲http请求有4种方式,GET、PUT、 POST、 DELETE、在我实际项目中也在使用,今天碰到一个很困惑的bug,一个稳定的项目出现权限无法更改、理论上代码是不会出现问题,因此在排该bug时候首先都是从业务逻辑去查找,最后在代码追查到form表单,表单method=post, 本地环境apache + php,在表单中有这样一个控件 <input name="xxxx_tab" type="checkbox" >,这个控件在checked状态下服务端 $_SERVER['xxxx_tab']始终无法取得该数据,一开始以为是表单的submit有js函数处理,最后发现数据没有更改,后修改form表单的method=get, (get最大提交量为2k左右),submit后页面报错,不过没关系,拷贝浏览器地址后发现xxxx_tab=on,从这点可能判断在submit后数据是没有被更改的,最后查阅资料 发现 php.ini中的max_input_vars,默认值为1000,而我表单里的元素数据是超出1000的,果断更改max_input_vars值,重启apache,fix
http get post限制
最新推荐文章于 2021-07-01 21:49:14 发布