基本上,我正在寻找一种解决方案,在 session 到期前五分钟通知用户。
理想的解决方案是倒计时通知,其中包含续订 session 的选项。
如果倒计时器到期而用户没有刷新页面,我需要将它们注销。
最佳答案
由于一旦您返回服务器端并且脚本调用 session_start() session 就会刷新,因此您确实需要在 Javascript 中执行此操作。但是,如果用户打开了两个浏览器窗口,并且其中一个处于非事件状态,而其中一个窗口处于非事件状态,而用户仍在与另一个窗口产生流量,则空闲窗口中的 JavaScript 会错误地报告 session 即将过期。因此,您需要实现自己的 ajax 包装器来检测 session 的年龄,而不调用 session_start()。
类似于:
$session_id=$_REQUEST[session_name()];
// if you use the default handler:
$session_last_access=filemtime(session_save_path() . '/' . $session_id);
$time_left=time() + session_cache_expire() - $session_last_access;
C.
关于php - 如何在 php codeigniter 中提醒或警告用户 session 即将过期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2809768/