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

yipeiwu_com6年前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在Linxu下执行时的文件权限方法

理清PHP在Linxu下执行时的文件权限方法

一、文件权限及所属 1、文件有三种类型的权限,为了方便期间,可以用数字来代替,这样可以通过数字的加减,用一个数字就能标识这个文件的权限了,例如7=4+2+1,表示读写执行3个权限都有,6...

php加速器eAccelerator的配置参数、API详解

它还能够对脚本进行优化以便加速它们的执行速度。利用eAccelerator可以减少服务器的负载并提高PHP代码的执行时间。 eAccelerator配置选项:复制代码 代码如下:zend...

PHP实现的博客欢迎提示功能(很特别哦)

以下代码的实现效果: 1、留言的访客显示欢迎词2、一般访客来源提示3、不留言潜水党(刷新大于7次,催促留言)4、针对IE的推送更新提示 使用方法:调用相应的函数,例如welcome_ms...

GBK的页面输出JSON格式的php函数

复制代码 代码如下:function tb_json_encode($value, $options = 0) { return json_encode(tb_json_convert_...

PHP5.3安装Zend Guard Loader图文教程

PHP5.3安装Zend Guard Loader图文教程

Zend Optimizer/3.3.3 解密加代码优化,提高PHP应用程序的执行速度,显著降低服务器的CPU负载。 Zend Guard Loader/5.5.0/6.0 解密加代码优...