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

相关文章

ThinkPHP中公共函数路径和配置项路径的映射分析

本文实例分析了ThinkPHP中公共函数路径和配置项路径的映射。分享给大家供大家参考。具体分析如下: ThinkPHP中在使用公共函数时(单一入口文件对应独立的项目),在Common文件...

php中DOMElement操作xml文档实例演示

复制代码 代码如下: <?php //Store your html into $html variable. $html="<html> <head> &...

PHP ADODB实现分页功能简单示例

PHP ADODB实现分页功能简单示例

本文实例讲述了PHP ADODB实现分页功能。分享给大家供大家参考,具体如下: 一、代码 adodb.inc.php可从官方网站http://adodb.sourceforge.net/...

php实现获取及设置用户访问页面语言类

本文实例讲述了php实现获取及设置用户访问页面语言类,分享给大家供大家参考。具体分析如下: 该实例User Language Class 获取/设置用户访问的页面语言,如果用户没有设置访...

PHP进阶学习之类的自动加载机制原理分析

PHP进阶学习之类的自动加载机制原理分析

本文实例讲述了PHP类的自动加载机制。分享给大家供大家参考,具体如下: 前言 我们在常见的PHP的主流框架中通常写好一个类只需写好相应的命名空间或直接实例化类就可以实现类的使用。而不需要...