我正在尝试在javascript中设置会话cookie,如下所示:
document.cookie = 'name=alex; path=/'
Run Code Online (Sandbox Code Playgroud)
但即使我退出浏览器并再次启动浏览器,Chrome也不会将其删除.
我检查了Firefox和Opera,两者都按预期工作 - 他们在浏览器退出时删除了会话cookie.
Chrome是否只是忽略过期规则?
我检查了多个操作系统,发现会话cookie在Windows XP和Ubuntu中的Chrome上被删除,但在Mac OSX Lion中没有.
最近我开发了一个带有codeigniter的web应用程序.我在那里遇到了与会话相关的问题.
问题场景:
如果用户A登录到应用程序,则会话中设置用户ID.执行任务后,用户A关闭浏览器并离开计算机.不久之后,用户B来到并打开浏览器,看到应用程序处于登录状态.或者当用户B写下的URL,然后按Enter直接重定向到应用程序而无需使用前一交易日任何身份验证.
我使用以下配置进行会话:
$config['sess_cookie_name'] = 'ci_session';
$config['sess_expiration'] = 1800;
$config['sess_expire_on_close'] = FALSE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = FALSE;
$config['sess_table_name'] = 'ci_sessions';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
Run Code Online (Sandbox Code Playgroud)
现在我的问题是如何通过关闭codeigniter中的浏览器或浏览器选项卡来销毁所有会话?