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

标签 php security session

我有一个客户端 jquery 脚本,可以在 5 分钟不活动后注销用户。但问题是用户在没有注销的情况下导航离开, session 保持事件状态。如果用户关闭浏览器,这是否会破坏 session ,因为 session 在浏览器打开或用户注销期间保持事件状态?

这就是我所拥有的任何人

(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,但这不是正确的方法(我在想,但也许我错了)

我读了这篇文章 User Inactivity Logout PHP

我不知道如果用户离开, session 如何仍然生效

最佳答案

离开不一定会使 session 过期,而是会关闭浏览器。

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

关于php - # 分钟不活动后自动注销用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5643424/

相关文章:

java - 在单元测试中找不到任何支持 AES/CBC/ISO7816-4Padding 的提供商

session - 如何使用解析 session token 通过 graphql 发出请求

php - MySQL,查找 "manager"的所有员工

php - 如果最后一个字符是 "/",则将其删除

security - Grails 如何记录安全插件事件

javascript - Firebase 安全 : Permission Denied Until Page Refresh

ruby-on-rails - Rails 4 中的 session

javascript - AngularJS 中 Session Storage、Local Storage 和 Cookies 的区别

PHP Apple Enhanced Push Notification读取错误响应

php - 无法使用 PHP 删除 MySQL 记录