Php 让用户登录的最佳方式是过期吗?
我正在探索一个潜在的内部内容交付系统,在这个系统中,我们必须跟踪学生完成任务的时间。只要学生与页面交互,就没有问题。如果学生出去吃午饭时页面还没打开,那么课程应该暂停,并且他们在超时后的在线时间将无法获得学分 我已经发现我可以很容易地捕捉到一些事件,比如离开一个页面,然后用PHP将这个事实记录到MySQL中的学生记录中,但是什么是让学生超时的最好方法呢?JavaScript?我环顾四周,还没有找到一个好的解释 谢谢你的帮助 ----------编辑-------------- 在Floris建议查看关于空闲的特定帖子后,大多数人建议使用JQuery解决方案,但有一张海报提供了一个没有JQuery的简单解决方案。这个代码看起来会工作吗?我觉得很好:Php 让用户登录的最佳方式是过期吗?,php,javascript,login,timeout,Php,Javascript,Login,Timeout,我正在探索一个潜在的内部内容交付系统,在这个系统中,我们必须跟踪学生完成任务的时间。只要学生与页面交互,就没有问题。如果学生出去吃午饭时页面还没打开,那么课程应该暂停,并且他们在超时后的在线时间将无法获得学分 我已经发现我可以很容易地捕捉到一些事件,比如离开一个页面,然后用PHP将这个事实记录到MySQL中的学生记录中,但是什么是让学生超时的最好方法呢?JavaScript?我环顾四周,还没有找到一个好的解释 谢谢你的帮助 ----------编辑-------------- 在Floris建议
var inactivityTime = function () {
var t;
window.onload = resetTimer;
document.onmousemove = resetTimer;
document.onkeypress = resetTimer;
function logout() {
alert("You are now logged out.")
//location.href = 'logout.php'
}
function resetTimer() {
clearTimeout(t);
t = setTimeout(logout, 3000)
// 1000 milisec = 1 sec
}
};
使用JavaScript检测用户何时变为空闲状态。当用户空闲时,启动一个AJAX调用,该调用会清除任何cookie或会话数据。如果让浏览器来完成这项工作,学生很容易伪造它。相反,每当用户执行某个操作(如转到其他页面)时,我都会将其转过来并记录。所花费的时间是一个动作和下一个动作之间的时间总和(增量时间),但如果增量时间大于15分钟,则不包括在内。使用javascript构建一个计时器,该计时器可以每1mOh男孩、学生控件发送一次类似msg的keepalive消息。他们还没有被迫佩戴NFC标签,这样他们的活动就可以更容易地被追踪?开玩笑。。。无论如何,使用JavaScript对这群人的悟性没有多大帮助,你最好接受@Arnold的建议,在服务器端进行任何交互检查我认为OP的问题实际上是“当一个用户空闲时我如何检测”。这个问题的答案是肯定的。我会查看网页的。谢谢是 啊这才是我真正想要的。看起来像是我的JQuery。谢谢。这是一个非常简单的处理方法。