Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 不活动#分钟后自动注销用户_Php_Security_Session - Fatal编程技术网

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

Php 不活动#分钟后自动注销用户,php,security,session,Php,Security,Session,我有一个客户端jquery脚本,在5分钟不活动后将用户注销。但问题是,用户在没有注销的情况下导航离开,会话保持活动状态。如果用户关闭浏览器,则不应破坏会话,因为会话在浏览器打开或用户注销期间保持活动状态 不管是谁,这就是我所拥有的 (function($){ $(document).bind("idle.idleTimer", function(){ document.location = "orders.php?action=logoff&session=tim

我有一个客户端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,但那不是正确的方法(我在想,也许我错了)

我读了这篇文章


如果用户导航离开,我看不出会话如何仍然有效。如果用户导航离开,则会话不一定会过期,而是关闭浏览器

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

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


    300将满足您的要求

    您需要做的就是向您的orders.php文件添加一些代码

    您需要做的是使用一些if语句检查动作和会话的
    $\u GET
    变量

    如果这两个要求都得到满足,那么只需使用
    session_destroy()销毁会话即可

    如果您想使用
    header(),也可以将它们重定向到任何页面