Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我的应用程序当前存储了一些基本的 _SESSION 事件,例如登录和请求的每个页面/URI。我被要求增强事件日志记录以包括用户注销时的跟踪。
注销的问题在于用户并不总是记得单击专用的注销按钮。有时他们只是让浏览器保持打开状态,或者关闭打开的浏览器窗口,或者干脆关闭。我不能总是保证确切的注销事件。
我可以通过在我的事件表中查询没有活动的时间段来粗略了解用户注销时间,但这似乎很粗鲁。
是否有在 PHP 中检测被动注销的最佳实践?
你基本上有你的答案 - 没有活动意味着他们已经注销。
如果您的服务器可以处理它,并且它非常重要,您可以将 Javascript 超时设置为每分钟“ping”一次。如果你得到了 ping,那么浏览器仍然在页面上,如果你没有,他们可能已经移动了。确切地说,当您定义“注销”时仍然有点猜测工作,添加用户可能会离开页面,然后在会话有效时稍后返回。