【问题标题】:How to call a function before the idle timeout session expiry in PHP如何在 PHP 中的空闲超时会话到期之前调用函数
【发布时间】:2022-02-11 20:27:53
【问题描述】:

我有一个大型应用程序,它会在 30 分钟的空闲时间后过期会话数据。现在我想在会话到期之前调用一个函数。

我提出上述问题的原因:出于某种目的,我在数据库中存储了一个唯一 ID。当用户单击注销时,我将删除该 ID。即使用户会话在空闲时间后过期,我也想删除该 ID。

【问题讨论】:

  • 如果我是你,我将使用客户端 JS 定期检查空闲时间(比如每分钟一次),然后在 30 分钟时,我将通过 ajax 调用单独的 PHP 来完成这项工作。 (当然,只要有用户活动,您就需要将此 JS 重置为 time=0)

标签: php codeigniter session session-variables idle-timer


【解决方案1】:

据我所知,为用户设置一个“计数器”来检查他们的会话是否过期是一种不好的做法。

如果您需要此 ID 来查看管理 aria 中的连接者,一种可能的方法是在加载管理页面时检查会话过期,然后删除过期的会话行,然后仅显示活动会话。

所以我的想法是,当您不使用管理仪表板时,一些会话 ID 仍在您的数据库中是可以的,一旦您尝试查看谁在线,就会调用检查功能并清理过期会话的数据.

如果您将该 ID 用于类似的事情,因为您没有分享您需要这样做的全部原因。

【讨论】:

  • 我的原因是我正在与另一个白标站点进行通信并从该站点获得返回回调...如果我的 db id 和我的 id 我将在我的回调请求中获得相同的 id从请求匹配中获取,然后该过程继续。否则我不会在那个函数中做任何事情。就用户手动注销而言,这种情况对我来说效果很好,但是如果用户的会话由于空闲超时而过期,则数据库中的 id 仍然存在,假设不存在
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-29
  • 2013-06-18
  • 1970-01-01
  • 1970-01-01
  • 2012-01-11
  • 2012-02-17
  • 2013-03-31
相关资源
最近更新 更多