1

如果用户闲置 5 分钟,我想让我的 PHP 网站销毁用户会话。如果确实发生了这种情况,我想向用户显示一条消息,说明他们退出的原因并将他们重定向到登录页面。

处理这个问题的最佳方法是什么?

我在 php 和 myadmin 上运行。

谢谢

阿维纳什

4

4 回答 4

7

每次加载页面时,将时间戳存储在会话变量中。当用户转到一个页面时,检查是否$SESSION['lastActivity'] < time() - <your idle time>. 如果为真,则重定向到“您的会话已过期”页面或类似页面。如果没有,请继续加载页面。

于 2010-01-27T08:27:48.477 回答
1

我假设您的意思是“空闲”时间。无需计算,但您必须存储该用户的最后一次(经过身份验证的)访问并重置计数器。通常,应该发布一个带有特定时间戳的身份验证 cookie。在对 cookie 进行身份验证后,您将当前时间与时间戳进行比较。如果此差异大于某个阈值,例如 5 分钟,则会显示错误页面。为了改善用户体验,您可能还想向用户显示一个计时器,这样就不会有什么不好的惊喜。

于 2010-01-27T08:32:40.657 回答
1

你能不能只使用 PHP 的内置会话函数将会话到期时间设置为 5 分钟。如果会话不再存在则重定向?

于 2010-01-27T09:57:04.720 回答
0

创建一个 javascript 函数,该函数具有弹出和重定向的 ax 分钟超时。

同样在服务器上确保他们的会话过期,以便在 Javascript 不可用的情况下,他们在空闲时间过去后无法继续操作。

于 2010-01-27T09:20:06.827 回答