如何解决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中钩子(hook)的原理与简单应用demo示例

本文实例讲述了php中钩子(hook)的原理与简单应用。分享给大家供大家参考,具体如下: 我们先来回顾下原本的开发流程;   产品汪搞出了一堆需求;   当用户注册成功后需要发送短信、发...

php中fsockopen用法实例

本文实例讲述了php中fsockopen用法。分享给大家供大家参考。 具体实现方法如下: 复制代码 代码如下:$fp=fsockopen("127.0.0.1",80); &n...

PHP简单判断iPhone、iPad、Android及PC设备的方法

本文实例讲述了PHP简单判断iPhone、iPad、Android及PC设备的方法。分享给大家供大家参考,具体如下: 因为工作需要我们需要知道是什么样了用户访问了我网站了,现在的移动设备...

PHP获取某个月最大天数(最后一天)的方法

本文实例讲述了PHP获取某个月最大天数(最后一天)的方法。分享给大家供大家参考。具体如下: //获取 某个月的最大天数(最后一天) function getMonthLastDay(...

php如何获取文件的扩展名

php如何获取文件的扩展名

网上也有很多类似的方法,不过都存在这样那样的不严谨的问题,本文就不一一分析了,这里只给出最正确的利用php 获取文件扩展名(文件后缀名)的方法。 function get_exte...