如何解决CI框架的Disallowed Key Characters错误提示

yipeiwu_com7年前PHP代码库
用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;  
}

相关文章

如何写php程序?

如果只会用 Frontpage、Dreamweaver 的所见即所得编辑模式来写网页,而完全不懂 HTML 的语法,恐怕要先下点功夫了解 ...

编写PHP脚本清除WordPress头部冗余代码的方法讲解

wordpress头部的代码非常多,包括WordPress版本,前后文、第一篇文章、主页meta信息等各种冗余代码,这些对博主来说是没有意义的,也对网站的安全有一定的影响,也一度不知道这...

ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例

本文所述实例是使用在Thinkphp的开发框架上,要是使用在其他框架也是同样的方法,很多人可能不能正确的实现Excel的导入导出,问题基本上都是phpExcel的核心类引用路径出错造成的...

用PHP实现维护文件代码

PHP有很多与文件系统相关的函数,不仅可以帮助你打开文件,还可以显示目录内容、移动文件等。很多人甚至使用PHP写出了基于Web的文件管理器。 首先需要提醒一些关于文件路径的东西:在Win...

php去除html标记的原生函数详解

     strip_tags 去掉 HTML 及 PHP 的标记。 语法: string strip_tags(string str); 传回值...