首先我要提醒你我已经读过this question,我正在使用Codeigniter 3.
我想破坏像PHP会话一样的浏览器关闭会话!
我读过有关使用像这样的ajax的事情:
var unloadHandler = function(e){
//here ajax request to close session
};
window.unload = unloadHandler;
和….
但是我不想让自己依赖js进行浏览器关闭的破坏会话.
这是我的config.PHP
$config['sess_driver'] = 'files';
$config['sess_cookie_name'] = 'soheil_blog_name';
$config['sess_expiration'] = 7200;
$config['sess_save_path'] = NULL;
$config['sess_match_ip'] = FALSE;
$config['sess_time_to_update'] = 300;
$config['sess_regenerate_destroy'] = FALSE;
解决方法:
您只需将’sess_expiration’设置为0,如manual和config.php comments中所述.
注意:从技术上讲,当浏览器关闭时,您无法真正销毁会话.您只能告诉浏览器在会话cookie关闭后丢弃该会话cookie,但会话本身仍可在服务器端使用(即如果您是MITM攻击的受害者并且有人窃取了会话ID).
事实上,垃圾收集器实际上会删除该会话.