如何解决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;  
}

相关文章

使用HMAC-SHA1签名方法详解

加密算法:使用HMAC-SHA1签名方法复制代码 代码如下:    /**     * @brief 使用HMAC-...

php根据一个给定范围和步进生成数组的方法

这里给定开始和结束值,再给定一个步进值,就可以生成一个等差数组。 function array_range($from, $to, $step=1){ $array = arra...

php和vue配合使用技巧和方法

php和vue可以配合使用,我们可以利用vue和php进行前后端分离。 进行前后端分离的好处 前后端分离后可以使前后端工程师分工更加明确,让后端工程师专注于业务逻辑的实现以及性能优化,安...

php中截取中文字符串的代码小结

字符串截取是一个非常常见的编程任务,而往往带中文的字符串截取会经常用到。虽然不难,但是自己写函数实现又耗费时间,这里介绍一个比较好用的字符串截取函数,能够胜任基本的需求了。 1. 截取G...

PHP封装的微信公众平台接口开发操作类完整示例

本文实例讲述了PHP封装的微信公众平台接口开发操作类。分享给大家供大家参考,具体如下: 示例调用 index.php <?php /** * Author: 惹妹子生气...