保持帐户登录

时间:2010-06-17 20:35:42

标签: session php

我们有一个内部控制面板,办公室的所有员工都可以全天登录,包括客户服务。我希望它能够进行设置,以便在会话到期之前让您保持登录状态1小时。如何在PHP.ini中更改此设置?我做了一个改变之前我理解会保持会话打开,直到浏览器窗口关闭但它没有坚持。

4 个答案:

答案 0 :(得分:8)

您可以设置两个不同的值:

session.gc_maxlifetime指定数据被视为“垃圾”并可能被清除的秒数。

和session.cookie_lifetime,这是cookie将持续多长时间。

http://www.php.net/manual/en/session.configuration.php

这两个值都可以在php.ini文件中设置,但可以使用ini_set在.htaccess文件或脚本中覆盖。

答案 1 :(得分:2)

您也可以使用JavaScript执行此客户端。使用AJAX调用定期“签入”服务器,使PHP会话保持活动状态。您还可以监控用户是否在当前页面上执行任何操作,向他们显示“2分钟警告”消息,或者甚至在达到1小时不活动时间段时将其重定向到“会话终止”页面。您甚至可以使用它来“强迫”用户退出。

这不像纯粹在PHP中那样安全,但确实为您提供了构建酷炫功能的更大灵活性。

答案 2 :(得分:1)

实现此目标的最安全的地方是您的应用程序。您可以在每个页面加载时将会话更新时间存储在$ _SESSION中。在更新它之前,检查它是否已超过60分钟限制,在这种情况下,您可以使用session_destroy()终止会话,然后重定向到登录页面(或类似)。

答案 3 :(得分:0)

我认为这不能从php.ini文件中完成。我想你想要在服务器上存储登录时间并将其与当前时间进行比较,如果已经过了60分钟则删除,或者使用cookie - 这些可以有明确的生命周期。有关cookie的更多信息,请参阅this