小编Sol*_*ion的帖子

CodeIgniter会话仅在中国失败

好的,我花了3天时间试图找出这里发生了什么,我很难过.

该网站使用CI构建.(http://horizo​​neslchina.com)

有一段时间,无论何时在中国,我都会得到不允许的关键人物.

我使用以下内容扩展了核心Input类:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); 
class MY_Input extends CI_Input {

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

        //CleanUTF-8ifsupported
        if(UTF8_ENABLED===TRUE)
        {
            $str=$this->uni->clean_string($str);
        }

        return $str;

    }


}
/* End of file My_Input.php */
Run Code Online (Sandbox Code Playgroud)

它似乎解决了这个问题,但现在我的情况是没有一个会话将保持不变.当中国某人登录并尝试访问任何安全页面时,它会立即终止会话.

这在澳大利亚不会发生,在印度也不会发生.我能找到的唯一区别是在中文系统上,逗号放在会话名称前面.EG,_ci_session和上面的函数之前把它作为问题抛弃了.

有没有人对此有任何想法?

php session codeigniter codeigniter-url

8
推荐指数
1
解决办法
660
查看次数

标签 统计

codeigniter ×1

codeigniter-url ×1

php ×1

session ×1