如何解决CI框架的Disallowed Key Characters错误提示


Posted in PHP onJuly 05, 2013

用CI框架时,有时候会遇到这么一个问题,打开网页,只显示 Disallowed Key Characters 错误提示。有人说 url 里有非法字符。但是确定 url 是纯英文的,问题还是出来了。但清空浏览器历史记录和cookies后。 刷新就没问题了。有时候。打开不同的浏览器。有的浏览器会有问题。有的就不会。

解决 CodeIgniter 框架应用中,出现Disallowed Key Characters错误提示的方法。找到/system/core文件夹下的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;
}

改为:
function _clean_input_keys($str)   
{   
    $config = &get_config('config');   
    if ( ! preg_match("/^[".$config['permitted_uri_chars']."]+$/i", rawurlencode($str)))   
    {   
        exit('Disallowed Key Characters.');   
    }       // Clean UTF-8 if supported
    if (UTF8_ENABLED === TRUE)
    {
        $str = $this->uni->clean_string($str);
    }
    return $str;   
}
PHP 相关文章推荐
PHP中在数据库中保存Checkbox数据(1)
Oct 09 PHP
在任意字符集下正常显示网页的方法二(续)
Apr 01 PHP
php 从数据库提取二进制图片的处理代码
Sep 09 PHP
php下使用curl模拟用户登陆的代码
Sep 10 PHP
详解php的魔术方法__get()和__set()使用介绍
Sep 19 PHP
php阻止页面后退的方法分享
Feb 17 PHP
php一个解析字符串排列数组的方法
May 12 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
PHP中spl_autoload_register()函数用法实例详解
Jul 18 PHP
php中替换字符串函数strtr()和str_repalce()的用法与区别
Nov 25 PHP
php微信公众号开发之微信企业付款给个人
Oct 04 PHP
php5.x禁用eval的操作方法
Oct 19 PHP
浅析十款PHP开发框架的对比
Jul 05 #PHP
利用PHP实现短域名互转
Jul 05 #PHP
PHP 安全检测代码片段(分享)
Jul 05 #PHP
如何使用php判断服务器是否是HTTPS连接
Jul 05 #PHP
使用PHP实现蜘蛛访问日志统计
Jul 05 #PHP
PHP系统命令函数使用分析
Jul 05 #PHP
解析PHP实现下载文件的两种方法
Jul 05 #PHP
You might like
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
2011/10/31 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
PHP封装的验证码工具类定义与用法示例
2018/08/22 PHP
从js向Action传中文参数出现乱码问题的解决方法
2013/12/29 Javascript
使用JS获取当前地理位置方法汇总
2014/12/18 Javascript
jQuery表格插件datatables用法详解
2020/11/23 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
老司机带你解读jQuery插件开发流程
2016/05/16 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
老生常谈的跨域处理
2017/01/11 Javascript
Javascript基础回顾之(三) js面向对象
2017/01/31 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
20道JS原理题助你面试一臂之力(必看)
2019/07/22 Javascript
layui下拉框获取下拉值(select)的例子
2019/09/10 Javascript
vue中get请求如何传递数组参数的方法示例
2019/11/08 Javascript
[02:07]DOTA2新英雄展现中国元素,完美“圣典”亮相央视
2016/12/19 DOTA
Python装饰器实现几类验证功能做法实例
2017/05/18 Python
python django 增删改查操作 数据库Mysql
2017/07/27 Python
matplotlib简介,安装和简单实例代码
2017/12/26 Python
python+opencv识别图片中的圆形
2020/03/25 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
Python3自动签到 定时任务 判断节假日的实例
2018/11/13 Python
python实现石头剪刀布小游戏
2021/01/20 Python
pytorch神经网络之卷积层与全连接层参数的设置方法
2019/08/18 Python
基于python进行抽样分布描述及实践详解
2019/09/02 Python
html5设计原理(推荐收藏)
2014/05/17 HTML / CSS
HTML5 常见面试题之PC端和移动端区别介绍
2018/01/22 HTML / CSS
Bluebella法国官网:英国性感内衣品牌
2019/05/03 全球购物
畜牧兽医本科生个人的自我评价
2013/10/11 职场文书
工程专业求职自荐书范文
2014/02/18 职场文书
政法学院毕业生求职信
2014/02/28 职场文书
学校募捐倡议书
2014/05/14 职场文书
婚礼证婚人演讲稿
2014/09/13 职场文书
小平小道观后感
2015/06/09 职场文书
图文详解nginx日志切割的实现
2022/01/18 Servers
Ruby序列化和持久化存储 Marshal和Pstore介绍
2022/04/18 Ruby