Codeigniter 3会话未正确加载-有时?

时间:2018-07-14 13:42:09

标签: codeigniter session codeigniter-3

因此,我致力于大量的应用。而且我们一直在收到报告,称我们的登录无法正常工作。我已经环顾了一段时间-每个与我相似的问题都没有得到解答。

这是我的会话配置。

$some_other_config["sess_cookie_name"]= "the_one_i_want_session"; 
$some_other_config["sess_expiration"]= 2678400;
$some_other_config["sess_encrypt_cookie"]= false; 
$some_other_config["sess_use_database"]= true; 
$some_other_config["sess_table_name"]= "db_session"; 
$some_other_config["sess_match_ip"]= false; 
$some_other_config["sess_match_useragent"]= false; 
$some_other_config["sess_time_to_update"]= 7200;

另外,我们还有一个会话

$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'really_unimportant_session';
$config['sess_expiration'] = 2678400;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'a_non_exisiting_legacy_table';
$config['sess_save_path'] = '/path/to/the/sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
$config['sess_match_ip'] = FALSE;

现在这是一个有趣的部分,“ the_one_i_want_session”是您是否正在登录的用户的唯一记录,对吗?

好吧,如果我连接到vpn(我认为可能是IP更改)并连接到任何国家/地区,我将无法登录。我们可以通过两种方式登录:使用ajax post-请求或常规表格发布。

它们基本上是相同的,当您登录到ajax时,登录名给出正确的登录成功状态,我们编写该会话,并将其存储在数据库中,并为用户提供成功的消息和选择到下一步去。当我们再次发出请求时,会话不会更新。

对于常规的表单发布,确实发生了相同的事情,但是我们使用codeigniter框架进行了重定向。会话再次到达数据库,但重定向后会话未连接到浏览器。

踢球者:如果我禁用了vpn,一切都会正常运行,就像一个超级按钮。我为此测试使用了专用Internet访问。

我真的不知道下一步要去哪里。我唯一看到的是在CI3中,该会话应该与$ _SESSION超全局变量一起工作,但是我的$ _SESSION始终为NULL。定义两个会话是否会出现问题?

编辑: 我忘记提及的一件事是。这仅在生产中发生。我们基本上有一个站点的镜像,其配置几乎相同(会话配置是相同的),并且登录在镜像的站点上有效。

Edit2: 似乎即使setcookie-function也会执行应做的事情,并返回true。我很困惑。

0 个答案:

没有答案