时时商务社区

标题: CodeIgniter框架提示Disallowed Key Characters的解决办法 [打印本页]

作者: bewin83    时间: 2018-2-14 05:58

            打开ci框架的源码不难发现,在ci的核心input类中有这样一个函数:
[U]复制代码[/U] 代码如下:
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中自定义),然后将下面代码加入即可
[U]复制代码[/U] 代码如下:
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 syntax error, unexpected $end 错误的一种原因及解决
  • jQuery选中select控件 无法设置selected的解决方法
  • php iconv() : Detected an illegal character in input string
  • php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()''d code error
  • PHP Parse Error: syntax error, unexpected $end 错误的解决办法
  • w3wp进程发生死锁ISAPI aspnet_isapi.dll报告它自身有问题,原因Deadlock detected
  • jquery.bgiframe.js在IE9下提示INVALID_CHARACTER_ERR错误
  • C++中的三种继承public,protected,private详细解析
  • PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
  • pycharm 使用心得(九)解决No Python interpreter selected的问题
  • PHP错误Parse error: syntax error, unexpected end of file in test.php on line 12解决方法
  • 强制SQL Server执行计划使用并行提升在复杂查询语句下的性能
  • 深入理解C++中public、protected及private用法
  • jQuery中:selected选择器用法实例
  • 在sqlserver中如何使用CTE解决复杂查询问题
            




    欢迎光临 时时商务社区 (http://bbs.4435.cn/) Powered by Discuz! X3.2