parse_str 的使用注意事项

刚刚解决了一个问题跟大家分享下。(parse_str 的长度问题。)
错误如下:
Fatal error: parse_str(): Input variables exceeded 100. To increase the limit change max_input_vars in php.ini. in /data/wwwroot/v/ask_main_test_last.php on line 1916

在调用PHP的parse_str函数 解析 URL的时候 报了这个错误,根据错误提示,是把 max_input_vars 设置成 100了,超出长度就出错了。现在系统中最长是100.当初这么做是为了修补一个漏洞 (http://hi.baidu.com/ruhaole/item/47ebbdf1b130e613d6ff8cad )

从搜狗搜索过来的URL 参数长度超出100:
Referer http://www.sogou.com/web?query=%B8%D0%C3%B0%C1%CB%B3%D4%CA%B2%C3%B4%BA%C3%B5%C4%BF%EC&_asf=www.sogou.com&_ast=1350633950&w=01015002&p=40040100&oq=%B8%D0%C3%B0%C1%CB%B3%D4%CA%B2%C3%B4&ri=0&sourceid=sugg&stj=0%3B4%3B0&stj2=0&stj0=0&stj1=4&hp=40&hp1=0&sut=4858&sst0=1350633950452

最后该代码好了。


parse_str($http['query']);
改为
parse_str(substr($http['query'],0,100));

大家以后在parse_str的时候 一定要注意长度啊。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值