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 相关文章推荐
mysql时区问题
Mar 26 PHP
php 获取客户端的真实ip
Nov 30 PHP
fleaphp crud操作之find函数的使用方法
Apr 23 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
Codeigniter检测表单post数据的方法
Mar 21 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
May 21 PHP
PHP如何实现Unicode和Utf-8编码相互转换
Jul 29 PHP
PHP基于Redis消息队列实现发布微博的方法
May 03 PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 PHP
smarty模板的使用方法实例分析
Sep 18 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
Feb 16 PHP
PHP网站常见安全漏洞,及相应防范措施总结
Mar 01 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
php生成短网址示例
2014/05/05 PHP
ThinkPHP 3.2 数据分页代码分享
2014/10/14 PHP
PHP中上传多个文件的表单设计例子
2014/11/19 PHP
在PHP语言中使用JSON和将json还原成数组的方法
2016/07/19 PHP
Javascript图片上传前的本地预览实例
2014/06/16 Javascript
原生JavaScript+LESS实现瀑布流
2014/12/12 Javascript
jquery中EasyUI实现同步树
2015/03/01 Javascript
JS实现横向拉伸动感伸缩菜单效果代码
2015/09/04 Javascript
JS+CSS实现仿支付宝菜单选中效果代码
2015/09/25 Javascript
Bootstrap滚动监听(Scrollspy)插件详解
2016/04/26 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
javascript数组定义的几种方法
2017/10/06 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
Vue自定义全局Toast和Loading的实例详解
2019/04/18 Javascript
node.js文件操作系统实例详解
2019/11/05 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
js数组中去除重复值的几种方法
2020/08/03 Javascript
js实现随机圆与矩形功能
2020/10/29 Javascript
Python实现测试磁盘性能的方法
2015/03/12 Python
详解Python中的条件判断语句
2015/05/14 Python
django多文件上传,form提交,多对多外键保存的实例
2019/08/06 Python
python+django+rest框架配置创建方法
2019/08/31 Python
世界上最全面的草药补充剂和顶级品牌维生素网站:HerbsPro
2019/01/20 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
金融专业个人的自我评价
2013/10/18 职场文书
英文版网络工程师求职信
2013/10/28 职场文书
求职简历推荐信范文
2013/12/02 职场文书
大学生活动总结怎么写
2014/04/29 职场文书
安全生产月活动总结
2014/05/04 职场文书
2014幼儿园大班工作总结
2014/11/10 职场文书
英文道歉信
2015/01/20 职场文书
2015年复活节活动总结
2015/02/27 职场文书
什么是执行力?9个故事告诉您:成功绝非偶然!
2019/07/05 职场文书
详解Java七大阻塞队列之SynchronousQueue
2021/09/04 Java/Android