2011-09-21 35 views

回答

0

我管理它与一种用户平。我的网页应用程序中的每个页面都使用JavaScript,每分钟都会向某个特定的php文件发出请求。该文件标识用户并更新我用户表中的最后活动时间戳。在服务器上,我做了一个每2分钟触发一次的cronjob,并检查大于2分钟的最后活动时间戳的usertable。如果时间戳超过2分钟,则可以将该用户标记为“已注​​销”。这样用户可以在一个页面上花费很长时间,并且由于不活动而不会被注销。如果他关闭浏览器或重新启动pc,注销时间戳将由cronjob设置,并且非常精确。

该解决方案运行良好,但使用JavaScript计时器。这不是很好,但它使工作很好。如果你的页面已经使用了很多其他的JavaScript,你可能应该使用其他解决方案。

0

如果他们没有物理地点击注销按钮(您正在记录注销时间的位置),则应该将注销时间设置为会话过期。为了使这种方法更准确,将会话的生命周期减少到几分钟。因此,在几分钟不活动之后,会话将到期,并且您的注销时间将相对接近用户停止使用软件的时间。请参阅下面关于如何记录这些信息。 Cron作业或JavaScript实施是必要的。

只是我的两分钱...可能更好的方式来做到这一点,但这种方式在我看来是最简单的。

+0

尽管会话时间较短,例如在CMS中,用户可能会合法地编辑某些内容30分钟,然后单击“保存”它将会放弃会话。 – codercake