萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> 如何解決CI框架的Disallowed Key Characters錯誤提示

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

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

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

復制代碼 代碼如下:
function _clean_input_keys($str)
{
    if ( ! preg_match("/^[a-z0-9:_/-]+$/i", $str))
    {
        exit('Disallowed Key Characters.');
    }
    // Clean UTF-8 if supported
    if (UTF8_ENABLED === TRUE)
    {
        $str = $this->uni->clean_string($str);
    }
    return $str;
}


改為:

復制代碼 代碼如下:


function _clean_input_keys($str)  
{  
    $config = &get_config('config');  
    if ( ! preg_match("/^[".$config['permitted_uri_chars']."]+$/i", rawurlencode($str)))  
    {  
        exit('Disallowed Key Characters.');  
    }  

    // Clean UTF-8 if supported
    if (UTF8_ENABLED === TRUE)
    {
        $str = $this->uni->clean_string($str);
    }
    return $str;  
}

copyright © 萬盛學電腦網 all rights reserved