网站首页
ci Disallowed Key Characters 错误的解决
发布时间:2015-04-01 10:23:45编辑:admin阅读()
-
使用ci开发的一个应用,时不时有用户报如下错误:
Disallowed Key Characters
用户是在直接打开首页时报错,未带任何参数,也不存在post传值,于是怀疑是cookie的问题
于是修改libraries/input.php 219行,输出错误,
if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
{
var_dump($str);
exit('Disallowed Key Characters.');
}
在浏览里再打开时
string(20) "cnzz_a2336574&web_id"
Disallowed Key Characters
果然是cookie的问题,且含有&符号,怀疑是在其它二级域下设置了cookie,一起带过来了。
找到原因就好办了,在正则里增加&(这个字符应该不危险吧~~)
问题解决
function _clean_input_keys($str)
{
if(preg_match("/^,_[a-z0-9:_\/-]+$/",$str)){
$str = preg_replace("/,_/","",$str);
}
if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
{
exit('Disallowed Key Characters.'.$str);
}
return $str;
}
相关文章
