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 相关文章推荐
smarty实例教程
Nov 19 PHP
PHP 应用程序的安全 -- 不能违反的四条安全规则
Nov 26 PHP
PHP+AJAX实现无刷新注册(带用户名实时检测)
Jan 02 PHP
Thinkphp实现MySQL读写分离操作示例
Jun 25 PHP
PHP中使用TCPDF生成PDF文档实例
Jul 01 PHP
php恢复数组的key为数字序列的方法
Apr 28 PHP
php中关于长度计算容易混淆的问题分析
May 27 PHP
PHP实现UTF8二进制及明文字符串的转化功能示例
Nov 20 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
php实现微信原生支付(扫码支付)功能
May 30 PHP
小程序微信退款功能实现方法详解【基于thinkPHP】
May 05 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+MySQL的聊天室设计
2006/10/09 PHP
php读取二进制流(C语言结构体struct数据文件)的深入解析
2013/06/13 PHP
php从数组中随机选择若干不重复元素的方法
2015/03/14 PHP
CodeIgniter扩展核心类实例详解
2016/01/20 PHP
PHP实现压缩图片尺寸并转为jpg格式的方法示例
2018/05/10 PHP
javascript写的一个链表实现代码
2009/10/25 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
通过js来制作复选框的全选和不选效果
2014/05/22 Javascript
js单独获取一个checkbox看其是否被选中
2014/09/22 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
移动端点击图片放大特效PhotoSwipe.js插件实现
2016/08/25 Javascript
jQuery仿写百度百科的目录树
2017/01/03 Javascript
angularjs中的$eval方法详解
2017/04/24 Javascript
JavaScript之filter_动力节点Java学院整理
2017/06/28 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
ES6新特性:使用export和import实现模块化详解
2017/07/31 Javascript
javascript实现计算指定范围内的质数示例
2018/12/29 Javascript
React通过redux-persist持久化数据存储的方法示例
2019/02/14 Javascript
JS事件绑定的常用方式实例总结
2019/03/02 Javascript
java遇到微信小程序 "支付验证签名失败" 问题解决
2019/12/22 Javascript
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
Python实现求数列和的方法示例
2018/01/12 Python
解决Python下json.loads()中文字符出错的问题
2018/12/19 Python
python3字符串输出常见面试题总结
2020/12/01 Python
scrapy头部修改的方法详解
2020/12/06 Python
CSS3 box-sizing属性详解
2016/11/15 HTML / CSS
美国女士泳装店:Swimsuits For All
2017/03/02 全球购物
客户表扬信范文
2014/01/10 职场文书
村优秀党员事迹材料
2014/01/15 职场文书
竞争性谈判邀请书
2014/02/06 职场文书
《最大的“书”》教学反思
2014/02/14 职场文书
情人节活动策划方案
2014/02/27 职场文书
幼儿园安全责任书范本
2014/07/24 职场文书
影视后期实训报告
2014/11/05 职场文书
2014年保育员个人工作总结
2014/12/02 职场文书
优秀教研组申报材料
2014/12/26 职场文书