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实现多服务器session共享之NFS共享的方法
Mar 16 PHP
火车头采集器3.0采集图文教程
Mar 17 PHP
zend api扩展的php对象的autoload工具
Apr 18 PHP
用PHP的超级变量$_GET获取HTML表单(Form) 数据
May 07 PHP
PHP的array_diff()函数在处理大数组时的效率问题
Nov 27 PHP
解析php通过cookies获取远程网页的指定代码
Jun 25 PHP
Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境
Mar 03 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
php文件管理基本功能简单操作
Jan 16 PHP
浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别
Jun 17 PHP
tp5递归 无限级分类详解
Oct 18 PHP
PHP全局使用Laravel辅助函数dd
Dec 26 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
各种咖啡的英文名子是什么
2021/03/03 新手入门
谈谈关于php的优点与缺点
2013/04/11 PHP
thinkphp区间查询、统计查询与SQL直接查询实例分析
2014/11/24 PHP
解决php-fpm.service not found问题的办法
2017/06/06 PHP
JavaScript 闭包深入理解(closure)
2009/05/27 Javascript
extjs 如何给column 加上提示
2014/07/29 Javascript
Mac OS X 系统下安装和部署Egret引擎开发环境
2014/09/03 Javascript
require.js的用法详解
2015/10/20 Javascript
jQuery遮罩层实现方法实例详解(附遮罩层插件)
2015/12/08 Javascript
JavaScript重载函数实例剖析
2016/05/13 Javascript
Bootstrap table表格简单操作
2017/02/07 Javascript
jQuery为DOM动态追加事件的方法
2017/02/16 Javascript
JavaScript解决浮点数计算不准确问题的方法分析
2018/07/09 Javascript
vue.js实现数据库的JSON数据输出渲染到html页面功能示例
2019/08/03 Javascript
JavaScript中的相等操作符使用详解
2019/12/21 Javascript
基于Electron实现桌面应用开发代码实例
2020/07/07 Javascript
Python fileinput模块使用介绍
2014/11/30 Python
Python打包可执行文件的方法详解
2016/09/19 Python
python opencv实现运动检测
2018/07/10 Python
python scatter函数用法实例详解
2020/02/11 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
2021/02/16 Python
Python3自带工具2to3.py 转换 Python2.x 代码到Python3的操作
2021/03/03 Python
计算机工程学院个人求职信
2013/10/05 职场文书
农村党支部先进事迹
2014/01/14 职场文书
业绩考核岗位职责
2014/02/01 职场文书
中学生获奖感言
2014/02/04 职场文书
消防工作实施方案
2014/06/09 职场文书
教师节大会主持词
2015/07/06 职场文书
小学生大队委竞选稿
2015/11/20 职场文书
2016猴年春节慰问信
2015/11/30 职场文书
入团申请书格式
2019/06/20 职场文书
mysql的MVCC多版本并发控制的实现
2021/04/14 MySQL
Redis缓存-序列化对象存储乱码问题的解决
2021/06/21 Redis
CSS font-variation 可变字体的魅力(实例详解)
2022/03/03 HTML / CSS