Session 保持帐户登录

Session 保持帐户登录,session,php,Session,Php,我们有一个内部控制小组,办公室的所有员工都可以全天登录,包括客户服务。我想对它进行设置,使您能够在会话到期前登录1小时。如何在PHP.ini中更改此选项?在我理解将保持会话打开直到浏览器窗口关闭之前,我做了一个更改,但它没有粘住。我认为这不能从php.ini文件中完成。我认为您可以将登录时间存储在服务器上,并将其与当前时间进行比较,如果60分钟过去了,则将其删除;或者,使用cookie,这些cookie可以有明确的生命周期。有关Cookie的更多信息,请参阅。实现此功能最安全的地方是在应用程序中

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

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

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

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

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

以及session.cookie\u生存期,即cookie将持续多长时间


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

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

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