#分钟不活动后自动注销用户


auto logout user after # mins of inactivity

我有一个客户端jquery脚本,记录用户关闭后5分钟的不活动。问题是,尽管用户在没有注销的情况下导航离开,但会话仍然是活跃的。如果用户关闭浏览器,会话不应该被破坏,因为会话在浏览器打开或用户注销期间保持活跃?

任何人这就是我所拥有的

(function($){
    $(document).bind("idle.idleTimer", function(){
        document.location = "orders.php?action=logoff&session=timeout";
    });
    //var minute = 60000; //1 minute is 60,000 miliseconds.
    var minute = 300000; //5 minutes
    var timeout = minute;
    $.idleTimer(timeout);
})(jQuery);

如何实现服务器端,如果用户导航离开?我正在考虑使用cron,但那将不是正确的方式(我在想,但也许我错了)

我读了这篇文章注销用户

,我不知道如果用户离开

,会话如何仍然有效。

离开不一定会使会话过期,关闭浏览器才会使会话过期。

    我将在服务器端实现检查。
  1. 如果会话无效,你应该发送一个400 HTTP状态码,你的JS代码可以用它来识别用户不再被允许使用资源,因此重定向到登录页面。
  2. 将cookie过期值设置为更适合您的应用程序的值

Sarmen,最简单的方法是使用php会话垃圾收集来满足您的需要:

http://www.php.net/manual/en/session.configuration.php ini.session.gc-maxlifetime

300s将满足您的要求。

您所需要做的就是在orders.php文件中添加一些代码。

你需要做的是有几个if语句检查你的动作和会话的$_GET变量。

如果这两个要求都满足了,那么你只需要用session_destroy();销毁会话

你也可以重定向到任何页面,如果你想使用header();