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 相关文章推荐
一个ubbcode的函数,速度很快.
Oct 09 PHP
《APMServ 5.1.2》使用图解
Oct 23 PHP
实例(Smarty+FCKeditor新闻系统)
Jan 02 PHP
PHP 组件化编程技巧
Jun 06 PHP
解析php中获取系统信息的方法
Jun 25 PHP
PHP内核探索:变量概述
Jan 30 PHP
php自动载入类用法实例分析
Jun 24 PHP
Yii安装与使用Excel扩展的方法
Jul 13 PHP
php使用curl实现简单模拟提交表单功能
May 15 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
django中的ajax组件教程详解
Oct 18 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 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的ob_start() 控制您的浏览器cache
2009/08/03 PHP
PHP数组循环操作详细介绍 附实例代码
2013/02/03 PHP
destoon实现不同会员组公司名称显示不同的颜色的方法
2014/08/22 PHP
PHP实现图片裁剪、添加水印效果代码
2014/10/01 PHP
javascript 简单高效判断数据类型 系列函数 By shawl.qiu
2007/03/06 Javascript
JS控制显示隐藏兼容问题(IE6、IE7、IE8)
2010/04/01 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
Jquery代码实现图片轮播效果(一)
2015/08/12 Javascript
学习JavaScript设计模式(多态)
2015/11/25 Javascript
JS实现消息来时让网页标题闪动效果的方法
2016/04/20 Javascript
设计模式中的组合模式在JavaScript程序构建中的使用
2016/05/18 Javascript
angular.js + require.js构建模块化单页面应用的方法步骤
2017/07/19 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
ES6新增数据结构WeakSet的用法详解
2017/08/07 Javascript
基于js粘贴事件paste简单解析以及遇到的坑
2017/09/07 Javascript
javascript连接mysql与php通过odbc连接任意数据库的实例
2017/12/27 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
微信小程序使用wxParse解析html的方法示例
2019/01/17 Javascript
详解ng-alain动态表单SF表单项设置必填和正则校验
2019/06/11 Javascript
Angular 中使用 FineReport不显示报表直接打印预览
2019/08/21 Javascript
Python中replace方法实例分析
2014/08/20 Python
Python面向对象编程基础解析(一)
2017/10/26 Python
python正则表达式面试题解答
2020/04/28 Python
Python3之手动创建迭代器的实例代码
2019/05/22 Python
Django之富文本(获取内容,设置内容方式)
2020/05/21 Python
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
美国在线珠宝商店:SZUL
2017/02/11 全球购物
创意爱尔兰礼物:Creative Irish Gifts
2020/01/29 全球购物
你常见到的runtime exception
2016/09/05 面试题
优秀中学生事迹材料
2014/01/31 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
2015年药房工作总结
2015/04/25 职场文书
中秋联欢会主持词
2015/07/04 职场文书
面试中老生常谈的MySQL问答集锦夯实基础
2022/03/13 MySQL
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫
Django框架之路由用法
2022/06/10 Python