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 相关文章推荐
用PHP实现登陆验证码(类似条行码状)
Oct 09 PHP
PHP JSON 数据解析代码
May 26 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
php通过字符串调用函数示例
Mar 02 PHP
使用php语句将数据库*.sql文件导入数据库
May 05 PHP
php用ini_get获取php.ini里变量值的方法
Mar 04 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 PHP
如何使用纯PHP实现定时器任务(Timer)
Jul 31 PHP
PHP长连接实现与使用方法详解
Feb 11 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 PHP
laravel 关联关系遍历数组的例子
Oct 10 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 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
php基础知识:函数基础知识
2006/12/13 PHP
解析将多维数组转换为支持curl提交的一维数组格式
2013/07/08 PHP
php实现在多维数组中查找特定value的方法
2015/07/29 PHP
Thinkphp+smarty+uploadify实现无刷新上传
2015/07/30 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
2016/10/12 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
Laravel框架基于ajax实现二级联动功能示例
2019/01/17 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
jQuery 定时局部刷新(setInterval)
2010/11/19 Javascript
jquery中动态效果小结
2010/12/16 Javascript
jquery EasyUI的formatter格式化函数代码
2011/01/12 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
2013/05/19 Javascript
javascript实现ecshop搜索框键盘上下键切换控制
2015/03/18 Javascript
详解JavaScript对W3C DOM模版的支持情况
2015/06/16 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
JS中mouseover和mouseout多次触发问题如何解决
2016/06/06 Javascript
深入解析Javascript闭包的功能及实现方法
2016/07/10 Javascript
Angular利用内容投射向组件输入ngForOf模板的方法
2018/03/05 Javascript
详解如何使用webpack打包多页jquery项目
2019/02/01 jQuery
vue服务端渲染操作简单入门实例分析
2019/08/28 Javascript
Python选择排序、冒泡排序、合并排序代码实例
2015/04/10 Python
python实现redis三种cas事务操作
2017/12/19 Python
计算机二级python学习教程(1) 教大家如何学习python
2019/05/16 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
2019/06/12 Python
python使用 request 发送表单数据操作示例
2019/09/25 Python
pyenv虚拟环境管理python多版本和软件库的方法
2019/12/26 Python
python解包概念及实例
2021/02/17 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
精伦电子Java笔试题
2013/01/16 面试题
留学自荐信的技巧
2013/10/17 职场文书
品质管理部岗位职责范文
2014/03/01 职场文书
园艺师求职信
2014/03/10 职场文书
无偿献血倡议书
2014/04/14 职场文书
大学生撤销处分思想汇报
2014/09/12 职场文书
2015年中秋节活动总结
2015/03/23 职场文书