sách gpt4 ai đã đi

javascript设置间隔 session 管理

In lại 作者:行者123 更新时间:2023-12-02 20:43:44 28 4
mua khóa gpt4 Nike

我正在开发一个基于 session 的项目。我在想,与银行类似,我会创建一张支票并为用户提供阻止 session 超时的能力。

我正在考虑创建一个 setInterval 来检查需要身份验证的空白页面。如果计时器接近结束时间,它会弹出一个对话框,通知用户 session 即将结束。 “保持登录”按钮将重置计时器,并且还会向他们提供注销选项。如果设置的时间间隔从检查器页面获取“401”,则当前页面将刷新到登录屏幕。

这有道理吗? setInterval 会让浏览器陷入困境吗?

顺便说一句:基于用户交互来清除间隔的最简单方法是什么?我需要检查每个按键和/或鼠标事件吗?或者是否有更广泛的方法来检查用户是否正在与页面交互(例如焦点检查或其他)?

短歌。

<小时>

所以,我使用的框架存在一些问题。 session 处理不是很好,因此更新 session 超时而不是始终基于登录后的时间超时似乎存在问题,而不是自上次事件以来。无论如何,已经处理好了。我现在想知道的问题是,通过检查 session 是否仍然通过 setInterval 进行身份验证, session 将通过检查进行更新,因此 session 永远不会超时。或者,我错过了什么吗?

<小时>

我决定只用 JavaScript 来处理它。在框架配置中将超时设置为 never,并专门使用 setTimeout 处理超时。

function alerter(msg){
//warn user session about to expire; give opportunity to save
}
function killSess(){
window.location = '/logout';
}
function sessTimer(time){
timerID = window.setTimeout('killSess();',time);
}
function observe(div){
Event.observe(div, 'click', function(){
clearTimeout(timerID);
sessTimer(30000);
});
Event.observe('bodyDiv', 'keydown', function(e){
clearTimeout(timerID);
sessTimer(30000);
});
}

1 Câu trả lời

Does this make sense? Would the setInterval bog down the browser?

这应该可以正常工作。只要间隔相当大(几秒到一分钟)并且每次迭代不会增加全局数据结构的大小,我预计它不会使浏览器陷入困境。

As an aside: what is the easiest way to clearInterval based on user interaction? Would I need to check for every keypress, and/or mouse event? Or is there a broader way of checking if the user is interacting with the page (like a focus check or something)?

也许向顶级页面元素(例如容器 phân chia)添加一些事件处理程序可能会有所帮助。

关于javascript设置间隔 session 管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1840990/

28 4 0
Bài viết được đề xuất: javascript - 如何使用 JavaScript 检测删除线文本
Bài viết được đề xuất: c# - GridView 中的复选框
Bài viết được đề xuất: ASP.NET AJAX : Creating a postback
Bài viết được đề xuất: ASP.NET 用户控件并从 Javascript 访问属性?
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com