用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;
}
您可能感兴趣的文章:CI框架入门示例之数据库取数据完整实现方法php ci框架中加载css和js文件失败的解决方法CI框架中site_url()和base_url()的区别CI框架中libraries,helpers,hooks文件夹详细说明php CI框架插入一条或多条sql记录示例php ci框架验证码实例分析CI框架中cookie的操作方法分析CI框架开发新浪微博登录接口源码完整版CI框架Session.php源码分析CI框架自动加载session出现报错的解决办法CI框架源码阅读,系统常量文件constants.php的配置CI框架实现框架前后端分离的方法详解
characters
ci
key