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与SQL注入攻击[三]
Apr 17 PHP
Ajax+PHP 边学边练之四 表单
Nov 27 PHP
php比较多维数组中值的大小排序实现代码
Sep 08 PHP
php去除换行(回车换行)的三种方法
Mar 26 PHP
php读取目录及子目录下所有文件名的方法
Oct 20 PHP
php中time()与$_SERVER[REQUEST_TIME]用法区别
Nov 19 PHP
PHP编写RESTful接口的方法
Feb 21 PHP
CI框架AR操作(数组形式)实现插入多条sql数据的方法
May 18 PHP
浅谈PHP中关于foreach使用引用变量的坑
Nov 14 PHP
php操作access数据库的方法详解
Feb 22 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
关于laravel 日志写入失败问题汇总
Oct 17 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
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
PHP 观察者模式的实现代码
2013/05/10 PHP
php-app开发接口加密详解
2018/04/18 PHP
父窗口获取弹出子窗口文本框的值
2006/06/27 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
解决jquery异步按一定的时间间隔刷新问题
2012/12/10 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
深入理解JQuery keyUp和keyDown的区别
2013/12/12 Javascript
jQuery+css实现的切换图片功能代码
2016/01/27 Javascript
常用原生JS兼容性写法汇总
2016/04/27 Javascript
JS随机打乱数组的方法小结
2016/06/22 Javascript
原生js和css实现图片轮播效果
2017/02/07 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
js+html制作简单验证码
2017/02/16 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
详解Vue Cli浏览器兼容性实践
2020/06/08 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
Vue开发中常见的套路和技巧总结
2020/11/24 Vue.js
详解python的sorted函数对字典按key排序和按value排序
2018/08/10 Python
基于Django框架的权限组件rbac实例讲解
2019/08/31 Python
使用python代码进行身份证号校验的实现示例
2019/11/21 Python
python随机模块random的22种函数(小结)
2020/05/15 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
Ubuntu 20.04安装Pycharm2020.2及锁定到任务栏的问题(小白级操作)
2020/10/29 Python
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
精伦电子Java笔试题
2013/01/16 面试题
智能电子应届生求职信
2013/11/10 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
学生爱国演讲稿
2014/01/14 职场文书
初一科学教学反思
2014/01/27 职场文书
2014年两会学习心得体会
2014/03/17 职场文书
《棉鞋里的阳光》教学反思
2014/04/24 职场文书
2015年公务员试用期工作总结
2015/05/28 职场文书
毕业典礼主持词
2015/06/29 职场文书
Mysql systemctl start mysqld报错的问题解决
2021/06/03 MySQL