如何在 codeigniter 3 中关闭浏览器来销毁会话
How to destroy session with browser closing in codeigniter 3
首先我要提醒你我已经阅读了 this question ,我正在使用 Codeigniter 3 。
我想用 PHP session 一样关闭浏览器来销毁 session !
我读过一些关于像这样使用 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 and in the config.php comments 中所述。
注意:从技术上讲,您不能在浏览器关闭时真正销毁会话。您只能告诉浏览器在关闭后丢弃会话 cookie,但会话本身在服务器端仍然可用(即,如果您是 MITM 攻击的受害者并且有人窃取了会话 ID)。
该会话实际上稍后被垃圾收集器删除。
首先我要提醒你我已经阅读了 this question ,我正在使用 Codeigniter 3 。 我想用 PHP session 一样关闭浏览器来销毁 session ! 我读过一些关于像这样使用 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 and in the config.php comments 中所述。
注意:从技术上讲,您不能在浏览器关闭时真正销毁会话。您只能告诉浏览器在关闭后丢弃会话 cookie,但会话本身在服务器端仍然可用(即,如果您是 MITM 攻击的受害者并且有人窃取了会话 ID)。
该会话实际上稍后被垃圾收集器删除。