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 相关文章推荐
BBS(php & mysql)完整版(七)
Oct 09 PHP
多php服务器实现多session并发运行
Oct 09 PHP
PHP中一个控制字符串输出的函数
Oct 09 PHP
PHP 文件上传进度条的两种实现方法的代码
Nov 25 PHP
PHP中使用strpos函数实现屏蔽敏感关键字功能
Aug 21 PHP
浅谈ThinkPHP的URL重写
Nov 25 PHP
PHP使用in_array函数检查数组中是否存在某个值
Mar 25 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
php 实现进制相互转换
Apr 07 PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 PHP
php中Ioc(控制反转)和Di(依赖注入)
May 07 PHP
php双层循环(九九乘法表)
Oct 23 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常用文件操作函数和简单实例分析
2016/06/03 PHP
学习YUI.Ext 第七天--关于View&JSONView
2007/03/10 Javascript
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
原生JS和JQuery动态添加、删除表格行的方法
2015/05/28 Javascript
cocos2dx骨骼动画Armature源码剖析(一)
2015/09/08 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
NodeJS的Promise的用法解析
2016/05/05 NodeJs
关于JavaScript中事件绑定的方法总结
2016/10/26 Javascript
浅析Jquery操作select
2016/12/13 Javascript
利用imgareaselect辅助后台实现图片上传裁剪
2017/03/02 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
vue 页面加载进度条组件实例
2018/02/05 Javascript
JavaScript实现秒杀时钟倒计时
2019/09/29 Javascript
js实现淘宝首页的banner栏效果
2019/11/26 Javascript
vue中父子组件的参数传递和应用示例
2021/01/04 Vue.js
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
跟老齐学Python之变量和参数
2014/10/10 Python
解决uWSGI的编码问题详解
2017/03/24 Python
python:print格式化输出到文件的实例
2018/05/14 Python
记一次python 内存泄漏问题及解决过程
2018/11/29 Python
利用anaconda保证64位和32位的python共存
2021/03/09 Python
python 多进程并行编程 ProcessPoolExecutor的实现
2019/10/11 Python
使用Python爬虫库requests发送表单数据和JSON数据
2020/01/25 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
高清屏中使用Canvas绘图出现模糊的问题及解决方法
2019/06/03 HTML / CSS
火山咖啡:Volcanica Coffee
2019/10/29 全球购物
override和overload的区别
2016/03/09 面试题
2014年高考决心书
2014/03/11 职场文书
机械电子工程专业求职信
2014/06/22 职场文书
学校社会实践活动总结
2014/07/03 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
先进教师个人主要事迹材料
2015/11/03 职场文书
队列队形口号
2015/12/25 职场文书
《刺客之王:C罗全景传记》:时代从来不会亏待手艺人
2019/11/28 职场文书
FP-growth算法发现频繁项集——发现频繁项集
2021/06/24 Python