如何解决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 相关文章推荐
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
May 10 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
Jan 10 PHP
PHP中“简单工厂模式”实例代码讲解
Sep 04 PHP
深入php var_dump()函数的详解
Jun 05 PHP
php输出金字塔的2种实现方法
Dec 16 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
PHP+redis实现添加处理投票的方法
Nov 14 PHP
Thinkphp 中 distinct 的用法解析
Dec 14 PHP
PHP判断数组是否为空的常用方法(五种方法)
Feb 08 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
Feb 06 PHP
ThinkPHP 5 AJAX跨域请求头设置实现过程解析
Oct 28 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
POST一个JSON格式的数据给Restful服务实例详解
2017/04/07 PHP
php生成二维码不保存服务器还有下载功能的实现代码
2018/08/09 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
JavaScript中使用正则匹配多条,且获取每条中的分组数据
2010/11/30 Javascript
利用jQuery插件扩展识别浏览器内核与外壳的类型和版本的实现代码
2011/10/22 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
Jquery chosen动态设置值实例介绍
2013/08/08 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
Node.js事件循环(Event Loop)和线程池详解
2015/01/28 Javascript
jquery使用经验小结
2015/05/20 Javascript
JS与Ajax Get和Post在使用上的区别实例详解
2016/06/08 Javascript
jQuery 获取select选中值及清除选中状态
2016/12/13 Javascript
vue-axios使用详解
2017/05/10 Javascript
微信小程序bindinput与bindsubmit的区别实例分析
2019/04/17 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
vue+vant实现购物车全选和反选功能
2020/11/17 Vue.js
Python实现发送QQ邮件的封装
2017/07/14 Python
Python中的id()函数指的什么
2017/10/17 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
2019/12/04 Python
关于tf.nn.dynamic_rnn返回值详解
2020/01/20 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
Django如何实现密码错误报错提醒
2020/09/04 Python
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
德国原装品牌香水、化妆品和手表网站:BRASTY.DE
2016/10/16 全球购物
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
护理专科毕业推荐信
2013/11/10 职场文书
护士岗位求职应聘自荐书范文
2014/02/12 职场文书
机关党员2014全国两会学习心得体会
2014/03/10 职场文书
最新结婚典礼主持词
2014/03/14 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
合同权益转让协议书模板
2014/11/18 职场文书
大学生求职自荐信
2015/03/24 职场文书
解决golang 关于全局变量的坑
2021/05/06 Golang
TV动画「神渣☆爱豆」公开第一弹主视觉图
2022/03/21 日漫