有谁知道我可以在哪里阅读教程,或者知道如何创建一个内置警告的基于Javascript的会话超时,以及可选的这些功能:
不幸的是,我对Javascript知之甚少。
答案 0 :(得分:6)
我不知道您的网站是如何完成的,但如果做得对,您应该有一个登录会话和某种后端控制系统,如果之前的操作是在X分钟/小时之前完成的,则会拒绝任何操作。自动使用户过期。如果你想实现一些客户端代码,你应该有一个javascript定时器,当过期时间即将完成时提醒用户,你也可以在达到过期时间后将用户重定向到主页或登录页面。这样所有安全功能都在后端,而javascript只能用作显示行为的显示度量。
更新:
setInterval(function(){alert("Hey, your session is ending")},360000);
setInterval(function(){
redirect();
},720000);
function redirect(){
document.location = "../logout.php"
}
UPDATE2:
setInterval(function(){
logout();
},600000);
function logout(){
if(confirm('Logout?'))
redirect();
else
alert('OK! keeping you logged in')
}
function redirect(){
document.location = "../logout.php"
}
如果用户想要退出,那么带有此代码的每个页面都会在10分钟后询问。这意味着您的会话本身不会过期,您必须将控件留给用户
答案 1 :(得分:0)
5分钟后退出会话
<script type="text/javascript">
var interval;
$(document).on('mousemove', function () {
clearInterval(interval);
var coutdown = 5 * 60, $timer = $('.timer'); // After 5 minutes session expired (mouse button click code)
$timer.text(coutdown);
interval = setInterval(function () {
$timer.text(--coutdown);
if (coutdown === 0) {
alert("Session expired. User successfully logged out.");
window.location = "UserLogin.php";
}
}, 1000);
}).mousemove();
var interval;
$(document).on('keydown', function () {
clearInterval(interval);
var coutdown =5 * 60, $timer = $('.timer'); // After 5 minutes session expired (keyboard button press code)
$timer.text(coutdown);
interval = setInterval(function () {
$timer.text(--coutdown);
if (coutdown === 0) {
alert("Session expired User successfully logout.");
window.location = "UserLogin.php";
}
}, 1000);
}).mousemove();
<script>
<html>
<div class="timer">
Time of session display on page
</div>
</html>