如果用户闲置 5 分钟,我想让我的 PHP 网站销毁用户会话。如果确实发生了这种情况,我想向用户显示一条消息,说明他们退出的原因并将他们重定向到登录页面。
处理这个问题的最佳方法是什么?
我在 php 和 myadmin 上运行。
谢谢
阿维纳什
如果用户闲置 5 分钟,我想让我的 PHP 网站销毁用户会话。如果确实发生了这种情况,我想向用户显示一条消息,说明他们退出的原因并将他们重定向到登录页面。
处理这个问题的最佳方法是什么?
我在 php 和 myadmin 上运行。
谢谢
阿维纳什
每次加载页面时,将时间戳存储在会话变量中。当用户转到一个页面时,检查是否$SESSION['lastActivity'] < time() - <your idle time>
. 如果为真,则重定向到“您的会话已过期”页面或类似页面。如果没有,请继续加载页面。
我假设您的意思是“空闲”时间。无需计算,但您必须存储该用户的最后一次(经过身份验证的)访问并重置计数器。通常,应该发布一个带有特定时间戳的身份验证 cookie。在对 cookie 进行身份验证后,您将当前时间与时间戳进行比较。如果此差异大于某个阈值,例如 5 分钟,则会显示错误页面。为了改善用户体验,您可能还想向用户显示一个计时器,这样就不会有什么不好的惊喜。
你能不能只使用 PHP 的内置会话函数将会话到期时间设置为 5 分钟。如果会话不再存在则重定向?
创建一个 javascript 函数,该函数具有弹出和重定向的 ax 分钟超时。
同样在服务器上确保他们的会话过期,以便在 Javascript 不可用的情况下,他们在空闲时间过去后无法继续操作。