解決CI框架的Disallowed Key Characters錯誤提示

用CI框架時,有時候會遇到這麼一個問題,打開網頁,只顯示 Disallowed Key Characters 錯誤提示。有人說 url 裏有非法字符。可是肯定 url 是純英文的,問題仍是出來了。但清空瀏覽器歷史記錄和cookies後。 刷新就沒問題了。有時候。打開不一樣的瀏覽器。有的瀏覽器會有問題。有的就不會。瀏覽器

解決 CodeIgniter 框架應用中,出現Disallowed Key Characters錯誤提示的方法。找到core文件夾下的Input文件,將下面的代碼:cookie

01 function _clean_input_keys($str)
02 {
03     if ( ! preg_match("/^[a-z0-9:_\/-]+$/i"$str))
04     {
05         exit('Disallowed Key Characters.');
06     }
07     // Clean UTF-8 if supported
08     if (UTF8_ENABLED === TRUE)
09     {
10         $str $this->uni->clean_string($str);
11     }
12     return $str;
13 }

改爲這樣:app

01 function _clean_input_keys($str)  
02 {  
03     $config = &get_config('config');  
04     if ( ! preg_match("/^[".$config['permitted_uri_chars']."]+$/i", rawurlencode($str)))  
05     {  
06         exit('Disallowed Key Characters.');  
07     }  
08      
09     // Clean UTF-8 if supported
10     if (UTF8_ENABLED === TRUE)
11     {
12         $str $this->uni->clean_string($str);
13     }
14     return $str;  
15

或者改爲:框架

01 function _clean_input_keys($str)
02 {
03     if(preg_match("/^,_[a-z0-9:_\/-]+$/",$str)){
04         $str = preg_replace("/,_/","",$str);
05     }
06               
07     if ( ! preg_match("/^[a-z0-9:_\/-]+$/i"$str))
08     {
09         exit('Disallowed Key Characters.'.$str);
10     }
11     return $str;
12 }
http://www.yuducom.com
相關文章
相關標籤/搜索