我的应用程序当前存储了一些基本的_SESSION事件,例如登录和请求的每个页面/ URI。我被要求增强事件记录以包括用户注销时的跟踪。
注销的问题在于用户并不总是记得单击专用的“注销”按钮。有时他们只是打开浏览器,或关闭打开的浏览器窗口,或者只是关闭。我不能总是保证准确的退出事件。
通过查询我的事件表中没有活动的时间,我可以大致了解用户注销时间,但这看起来很粗糙。
在PHP中检测被动注销是否有最佳做法?
答案 0 :(得分:1)
你基本上有你的答案 - 没有活动意味着他们已经退出。
如果您的服务器可以处理它,并且它非常重要,您可以将Javascript超时设置为每分钟“ping”一次。如果你得到ping,那么浏览器仍然在页面上,如果你没有,他们可能已经继续了。确切地说,当您定义“注销”时仍然需要一些猜测工作,添加用户可能会离开页面,然后在会话有效时返回。