CodeIgniter框架提示Disallowed Key Characters的解决办法
2015-01-24信息快讯网
在做项目过程中,出现提交form表单的时候,出现了Disallowed Key Characters 的提示
打开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实现的click captcha点击验证码类实例
php实现的Captcha验证码类实例
php中strstr、strrchr、substr、stristr四个函数的区别总结
PHP中exec与system用法区别分析
php中file_get_content 和curl以及fopen 效率分析
CentOS 6.3下安装PHP xcache扩展模块笔记
php中的mongodb select常用操作代码示例
CodeIgniter错误mysql_connect(): No such file or directory解决方法
CodeIgniter框架URL路由总结
Fedora下安装php Redis扩展笔记
PHP提示Deprecated: mysql_connect(): The mysql extension is deprecated的解决方法
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
php中用memcached实现页面防刷新功能
php实现的DateDiff和DateAdd时间函数代码分享
PHP JSON出错:Cannot use object of type stdClass as array解决方法
自己写了一个php检测文件编码的函数
PHP5中实现多态的两种方法实例分享
codeigniter中测试通过的分页类示例
PHP5.5在windows安装使用memcached服务端的方法
php sybase_fetch_array使用方法
用PHP和Shell写Hadoop的MapReduce程序
PHP检测移动设备类mobile detection使用实例
PHP读取大文件的类SplFileObject使用介绍
php实现telnet功能示例
PHP中的Memcache详解
PHP中使用memcache存储session的三种配置方法
php警告Creating default object from empty value 问题的解决方法
php环境套包 dedeampz 伪静态设置示例
php的memcache类分享(memcache队列)
codeigniter自带数据库类使用方法说明
php ctype函数中文翻译和示例
easyui的tabs update正确用法分享
PHP中nowdoc和heredoc使用需要注意的一点
zf框架的db类select查询器join链表使用示例(zend框架)
使用PHP导出Redis数据到另一个Redis中的代码