2011-01-06 52 views
0

因此,我将应用程序切换到本机会话类是codeigniter,因为IE和会话存在一些问题。但是现在,这个会议课程似乎很快就将人员记录下来。我浏览了所有代码,似乎无法找到问题所在。这里是本地会话类:http://ellislab.com/codeigniter/wiki/Native_session/Codeigniter本机会话类的问题

此外,我所有的配置变量都是默认设置。我想知道这是Native Session的错还是我自己的错。我在另一个脚本中使用了一个bool var,用于确定用户是否已登录。只是认为我会把它扔到那里。

BTW,笨1.7.3,PHP 5

+0

详细博客:http://goo.gl/EeUgk2 – 2016-01-14 09:22:36

回答

0

CodeIgniters会话不相关的PHP的会话。他们刷新每个(我认为)5分钟,而不会丢失与用户的关联。这是防止会话窃取的安全功能。为了让会话更长时间,您需要在配置中自定义超时。

$config['sess_expiration']  = 7200; 
$config['sess_time_to_update'] = $config['sess_expiration']; 

现在是会议前CI更新的时间是一样的常会过期。

0

由于Colossos博士说,这是确定重写

$config['sess_expiration'] = 7200;

但“时间更新”应该是保持一个较低的值。该参数设置会话ID再生的频率,用于避免会话窃取,这不意味着会话过期。

我记得关于IE和CI会话的唯一问题是CI为coockie会话的名称使用了一个不希望的名称,这是一些不喜欢IE的东西,所以如果在会话配置文件中更改名称问题消失。

+0

正如我所说的,所有变量都设置为默认值,会话过期包括在内。会议持续时间不会超过5分钟,通常会少于5分钟。 – 2012-11-08 23:53:21

+0

你重新提出了这个问题!太棒了,可能我有新的答案;)IE看起来并不会杀死识别会话的cookie,无论你做什么。它有时会发生,只有IE才会发生。不确定存储会话数据如何影响(并解决)该问题,但是部分解决IE问题的方法是使用基于可以猜测但变化很大的不同cookie的不同cookie,如日期。 – 2012-11-16 09:04:37