smartweb 发表于 2011-6-8 12:04:51

CI2.01,个别电脑Disallowed Key Characters

只是在个别电脑,打开首页都会出现Disallowed Key Characters,我的版本里根本没有Input.php 这个文件存在。




jeongee 发表于 2011-6-8 12:08:49

本帖最后由 jeongee 于 2011-6-8 12:10 编辑

没有就怪了,那是CI核心文件,在system/core下面
出现这个问题一般是由于用户的cookie多了一些不被允许的字符,解决方法:
扩展input类的下面的方法:

      function _clean_input_keys($str)
      {
                if ( ! preg_match("/^+$/i", $str))
                {
                        exit('Disallowed Key Characters.');
                }

                // Clean UTF-8 if supported
                if (UTF8_ENABLED === TRUE)
                {
                        $str = $this->uni->clean_string($str);
                }

                return $str;
      }

在那个正则里加入导致问题的出现的字符吧,具体字符是什么,你可以查看客户的cookies

smartweb 发表于 2011-6-8 12:20:28

$config = &get_config('config');   
    if ( ! preg_match("/^[".$config['permitted_uri_chars']."]+$/i", rawurlencode($str)))   
    {   
      exit('Disallowed Key Characters.');   
    }
               

lcnphp 发表于 2011-6-9 12:57:03

jeongee 发表于 2011-6-8 12:08 static/image/common/back.gif
没有就怪了,那是CI核心文件,在system/core下面
出现这个问题一般是由于用户的cookie多了一些不被允许的字 ...

谢谢你,我刚才的问题解决了{:1_1:}

smartweb 发表于 2011-6-13 14:10:12

我已经在官网发帖要求改内核了。
页: [1]
查看完整版本: CI2.01,个别电脑Disallowed Key Characters