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


Posted in PHP onApril 21, 2014

打开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 相关文章推荐
判“新”函数:得到今天与明天的秒数
Oct 09 PHP
如何开发一个虚拟域名系统
Oct 09 PHP
木翼下载系统中说明的PHP安全配置方法
Jun 16 PHP
11个PHP 分页脚本推荐
Aug 15 PHP
对淘宝URL中ID提取的PHP代码
Sep 01 PHP
PHP使用in_array函数检查数组中是否存在某个值
Mar 25 PHP
PHP中Http协议post请求参数
Nov 02 PHP
CodeIgniter扩展核心类实例详解
Jan 20 PHP
session 加入redis的实现代码
Jul 15 PHP
php获取目录下所有文件及目录(多种方法)(推荐)
May 14 PHP
PHP MVC框架中类的自动加载机制实例分析
Sep 18 PHP
PHP实现图片防盗链破解操作示例【解决图片防盗链问题/反向代理】
May 29 PHP
PHP5中实现多态的两种方法实例分享
Apr 21 #PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
Apr 21 #PHP
PHP正则提取不包含指定网址的图片地址的例子
Apr 21 #PHP
phpmyadmin打开很慢的解决方法
Apr 21 #PHP
PHP递归删除目录几个代码实例
Apr 21 #PHP
PHP批量生成静态HTML的简单原理和方法
Apr 20 #PHP
php setcookie函数的参数说明及其用法
Apr 20 #PHP
You might like
mysql_fetch_row,mysql_fetch_array,mysql_fetch_assoc的区别
2009/04/24 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
jQuery学习笔记之Helloworld
2010/12/22 Javascript
一行代码实现纯数据json对象的深度克隆实现思路
2013/01/09 Javascript
jquery删除ID为sNews的tr元素的内容
2014/04/10 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
jquery插件uploadify实现带进度条的文件批量上传
2015/12/13 Javascript
Web Uploader文件上传插件使用详解
2016/05/10 Javascript
使用ionic切换页面卡顿的解决方法
2016/12/16 Javascript
Bootstrap CSS布局之代码
2016/12/17 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
JavaScript观察者模式(publish/subscribe)原理与实现方法
2017/03/30 Javascript
webpack2.0配置postcss-loader的方法
2017/08/17 Javascript
微信小程序自定义导航栏实例代码
2019/04/05 Javascript
解决layer.open后laydate失效的问题
2019/09/06 Javascript
javascript网页随机点名实现过程解析
2019/10/15 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
详解js中的原型,原型对象,原型链
2020/07/16 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
vue使用exif获取图片经纬度的示例代码
2020/12/11 Vue.js
[01:00:53]2018DOTA2亚洲邀请赛3月29日 小组赛B组 iG VS Secret
2018/03/30 DOTA
[01:20]PWL S2开团时刻第三期——团战可以输 蝙蝠必须死
2020/11/26 DOTA
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
详解Python安装tesserocr遇到的各种问题及解决办法
2019/03/07 Python
python中的句柄操作的方法示例
2019/06/20 Python
简单了解python的一些位运算技巧
2019/07/13 Python
Python读取VOC中的xml目标框实例
2020/03/10 Python
Python中三维坐标空间绘制的实现
2020/09/22 Python
军训自我鉴定
2014/01/22 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
小学母亲节活动总结
2015/02/10 职场文书
父亲去世追悼词
2015/06/23 职场文书
婚庆主持词大全
2015/06/30 职场文书
zabbix agent2 监控oracle数据库的方法
2021/05/13 Oracle
postgresql无序uuid性能测试及对数据库的影响
2021/06/11 PostgreSQL