2010-10-18 146 views
1

我需要删除数据库中的旧用户数据,如果用户会话超时了解会话超时(php)

如何使用PHP解决此问题?

+0

我认为你应该重新提一下这个问题,它对你到底想要做什么感到困惑。 – 2010-10-18 13:38:38

回答

1

您可以将session_key存储在数据库中的行中,然后自行定义时间限制。然后创建一个cronjob,删除所有使用session_key的行,这些行尚未在您的限制范围内使用。

默认会话持续到浏览器关闭,因此您无法知道会话处于活动状态的秒数。即使会话关闭,会话也不会被删除,直到垃圾收集器将其删除。

0

当会话超时时,无法添加代码以运行。你必须自己想出一个方案。 我建议在您的数据库记录中添加时间戳并在每次访问数据时更新它。然后通过cron通过一个脚本遍历记录并删除那些比会话超时更早的脚本。

1

您可以设置会话超时时间。说30分钟。

sesssion_gc_maxlifetime

您可以检查用户的登录时间。

但是如果你想删除的数据,更好地保持会话的DB或至少

保持状态,登录或注销和登录时间和注销时间在DB

这将是安全的

所以,你可以根据登录时间和电流为TimeDifference删除数据

设置一个cron作业运行在30分钟内;或者你希望的任何时间