带有警告的PHP/Javascript会话超时

kdj*_*gan 1 javascript php session timeout popup

有谁知道我可以在哪里阅读教程,或者知道如何创建一个内置警告的基于Javascript的会话超时,以及可选的这些功能:

  • 用户活动重置计时器
  • 与数据库交互(最后一次见到等)
  • 如果不活动,它将注销用户(通过重定向到logout.php页面)
  • 在将用户注销之前,它会显示一条弹出消息,询问他们是否要继续

不幸的是,我对Javascript了解不多.

JSa*_*tos 6

我不知道你的网站是如何完成的,但是如果做得对,你应该有一个登录会话和某种后端控制系统,如果前一个动作是在X分钟/小时前完成并且自动到期,则会拒绝任何操作.用户.如果你想实现一些客户端代码,你应该有一个javascript定时器,当过期时间即将完成时提醒用户,你也可以在达到过期时间后将用户重定向到主页或登录页面.这样所有安全功能都在后端,javascript只能用作显示行为的显示度量.

更新:

setInterval(function(){alert("Hey, your session is ending")},360000);

setInterval(function(){
    redirect();
},720000);

function redirect(){
    document.location = "../logout.php"
}
Run Code Online (Sandbox Code Playgroud)

UPDATE2:

setInterval(function(){
    logout();
},600000);

function logout(){
    if(confirm('Logout?'))
        redirect();
    else
        alert('OK! keeping you logged in')
}

function redirect(){
    document.location = "../logout.php"
}
Run Code Online (Sandbox Code Playgroud)

如果用户想要注销,每个包含此代码的页面将在10分钟后询问.这意味着您的会话本身不会过期,您必须将控件留给用户