如何在php中实现自动注销?

时间:2010-05-25 17:14:06

标签: php

我的应用程序中需要自动注销系统。

如果用户未使用该应用程序超过30分钟。他们应该再次登录。

这就是我需要的。 lastAccessTime应小于30分钟。如果lastAccessTime超过30分钟,则用户应使用其凭据再次登录。

(目前我在我的用户表(数据库)中使用Lastaccesstime字段自动注销,并将lastaccesstime与每个页面加载的当前时间进行比较,我不认为这是正确的方法。)

是他们的任何方式实现的? 提前谢谢。

2 个答案:

答案 0 :(得分:7)

您应该指定SESSION LIFETIME并使用$_SESSION查看用户是否已登录:

ini_set('session.cookie_lifetime',(60*30)); // 60 seconds times 30 = 30 minutes

答案 1 :(得分:3)

如果您使用Cookie来保持用户登录,只需为其设置足够的TTL即可。

对于30分钟的到期时间,在登录时以这种方式设置cookie:

setcookie($COOKIE_NAME, $COOKIE_VALUE, time() + 60 * 30);

或者,您可以使用session_set_cookie_params

session_set_cookie_params(60 * 30); // takes lifetime as first argument