使用ci开发的一个应用,时不时有用户报如下错误:

Disallowed Key Characters

用户是在直接打开首页时报错,未带任何参数,也不存在post传值,于是怀疑是cookie的问题

于是修改libraries/input.php 219行,输出错误,

 

 
  
  1. if ( ! preg_match("/^[a-z0-9:_\/-]+$/i"$str))  
  2.   {  
  3.  
  4. var_dump($str);  
  5.    exit('Disallowed Key Characters.');  
  6.   }  
  7.  

在浏览里再打开时

string(20) "cnzz_a2336574&web_id" 
Disallowed Key Characters

果然是cookie的问题,且含有&符号,怀疑是在其它二级域下设置了cookie,一起带过来了。

找到原因就好办了,在正则里增加&(这个字符应该不危险吧~~)

问题解决