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

    添加时间:2013-7-4 点击量:

    用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;
    }


    参考:http://www.nowamagic.net/librarys/veda/detail/1699

    容易发怒的意思就是: 别人做了蠢事, 然后我们代替他们, 表现出笨蛋的样子。—— 蔡康永
    分享到: