我目前正在开发一个 Web 应用程序,用户登录会话被创建并记录到数据库中。
正在发生的事情是,用户将被随机注销,而他们自己没有选择。背景故事是,这通常发生在共享帐户的用户身上(不是最好的事情,而是应用程序的性质,这意味着它需要被允许)。
这可能是随机注销的原因吗?还是 CI 中的一些更深层次的东西和在数据库中存储会话?我还读到同时执行大量 AJAX 请求会导致 SESSION ID 更改,然后可能会覆盖数据库记录并将用户注销。这又是一种可能吗?我认为这个比较少,因为我写了一个补丁来阻止这种情况的发生。
会话配置:
$config['sess_cookie_name'] = 'app';
$config['sess_expiration'] = 0;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = TRUE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_use_multisessions'] = TRUE;
$config['sess_multisession_expiration'] = 10;