如何解决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面向对象五大原则之依赖倒置原则(DIP)详解

本文实例讲述了PHP面向对象五大原则之依赖倒置原则(DIP)。分享给大家供大家参考,具体如下: 什么是依赖倒置呢?简单地讲就是将依赖关系倒置为依赖接口,具体概念如下: 1.上层模块不应该...

PHP使用内置函数file_put_contents写入文件及追加内容的方法

本文实例讲述了PHP使用内置函数file_put_contents写入文件及追加内容的方法。分享给大家供大家参考,具体如下: 以追加形式写入内容 当设置 flags 参数值为 FILE_...

php抓取页面的几种方法详解

在 做一些天气预报或者RSS订阅的程序时,往往需要抓取非本地文件,一般情况下都是利用php模拟浏览器的访问,通过http请求访问url地址, 然后得到html源代码或者xml数据,得到数...

php代码收集表单内容并写入文件的代码

至于表单内容,这里就不多说了,主要是表单的action="getpost.php",也就是写getpost.php这个文件。下面就把这个文件里面的内容贴出来。 复制代码 代码如下: &l...

/etc/php-fpm.d/www.conf 配置注意事项

1、php-fpm 配置文件里 rlimit_files的值 要与系统的打开连接数一致 1)查看系统文件打开连接数 [root@iZ94eveq0q4Z ~]# ulimit -n 65...