会话超时或空闲时自动重定向用户

Mic*_*ICE 6 javascript php session

我希望有一个计时器在页面上每3分钟运行一次(javascript),以检测php会话($ _SESSION)是否超时...如果是,则自动重定向它们.

一个很好的例子是,一个用户登录并运行楼梯,并且永远不会回来......我希望javascript通过一个简单的重定向来记录它们...

这可能吗?我怎么做这样的事情?我正在使用PHP和JavaScript.

编辑:Rob在下面说的正是我正在寻找的......我安全地引用了''...

我怀疑迈克要求的是,当会话超时时,应该告诉浏览器离开当前页面.例如,一些银行在一段时间不活动后这样做. - Rob Kennedy 5小时前

Gum*_*mbo 11

您可以使用简单的元刷新:

<meta http-equiv="refresh" content="180;url=http://example.com/logout" />
Run Code Online (Sandbox Code Playgroud)

或者您使用PHP实现超时:

session_start();
if (isset($_SESSION['LAST_REQUEST_TIME'])) {
    if (time() - $_SESSION['LAST_REQUEST_TIME'] > 180) {
        // session timed out, last request is longer than 3 minutes ago
        $_SESSION = array();
        session_destroy();
    }
}
$_SESSION['LAST_REQUEST_TIME'] = time();
Run Code Online (Sandbox Code Playgroud)

如果会话仍然有效,则无需每3分钟检查一次.

  • 如果用户打开多个标签/窗口怎么办?会议可能还活着. (3认同)