CodeIgniter框架提示Disallowed Key Characters的解决办法

2015-01-24信息快讯网

在做项目过程中,出现提交form表单的时候,出现了Disallowed Key Characters 的提示

打开ci框架的源码不难发现,在ci的核心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;
}

这是进行过滤的,所以抛出错误

我们在application的core中对这个方法进行重写即可
命名一个为MY_Input.php(前缀MY_可以在config.php中自定义),然后将下面代码加入即可

class AI_Input extends CI_Input {

    //构造函数
    function __construct(){
        parent::__construct();
    }

    function _clean_input_keys($str)
    {
        if(preg_match("/^,_[a-z0-9:_\/-]+$/",$str)){
            $str = preg_replace("/,_/","",$str);
        }

        if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))
        {
            exit('Disallowed Key Characters.'.$str);
        }
        return $str;
    }
}

php实现的click captcha点击验证码类实例
php实现的Captcha验证码类实例
php中strstr、strrchr、substr、stristr四个函数的区别总结
PHP中exec与system用法区别分析
php中file_get_content 和curl以及fopen 效率分析
CentOS 6.3下安装PHP xcache扩展模块笔记
php中的mongodb select常用操作代码示例
CodeIgniter错误mysql_connect(): No such file or directory解决方法
CodeIgniter框架URL路由总结
Fedora下安装php Redis扩展笔记
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
php中用memcached实现页面防刷新功能
php实现的DateDiff和DateAdd时间函数代码分享
PHP JSON出错:Cannot use object of type stdClass as array解决方法
自己写了一个php检测文件编码的函数
PHP5中实现多态的两种方法实例分享
codeigniter中测试通过的分页类示例
PHP5.5在windows安装使用memcached服务端的方法
php sybase_fetch_array使用方法
用PHP和Shell写Hadoop的MapReduce程序
PHP检测移动设备类mobile detection使用实例
PHP读取大文件的类SplFileObject使用介绍
php实现telnet功能示例
PHP中的Memcache详解
PHP中使用memcache存储session的三种配置方法
php警告Creating default object from empty value 问题的解决方法
php环境套包 dedeampz 伪静态设置示例
php的memcache类分享(memcache队列)
codeigniter自带数据库类使用方法说明
php ctype函数中文翻译和示例
easyui的tabs update正确用法分享
PHP中nowdoc和heredoc使用需要注意的一点
zf框架的db类select查询器join链表使用示例(zend框架)
使用PHP导出Redis数据到另一个Redis中的代码
©2014-2024 dbsqp.com