阅读了很多东西,但还没有找到解决我问题的方法。我使用 ajax 请求对网站上的用户进行身份验证。登录和注销 ajax 请求工作得非常好。登录调用创建会话 cookie 并将数据存储在会话表中。注销调用清除 cookie 并从数据库中删除数据。所有这些都按预期工作。
我正在使用 WAMP 服务器在我的本地主机上对此进行测试。
最烦人的事情是,如果所有 cookie 都被清除并且会话表完全为空,当我刷新我的网页时,会从某个地方生成会话 cookie。除此之外,我还将一条记录插入到会话表中,其会话 ID 与浏览器 cookie 中的会话 ID 相同。该数据库记录中没有用户数据,所以我真的很困惑和沮丧,这个 cookie 是从哪里创建的。我正在自动加载我的会话库。截至目前,我不想回到原生会话,所以请提出建议。
会话配置如下。sess_update() 可以以某种方式帮助这里。
$config['sess_cookie_name'] = 'cisession';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = TRUE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;