栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

CodeIgniter框架提示Disallowed Key Characters的解决办法

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CodeIgniter框架提示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;
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/48341.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号