-2

需要删除特定用户的会话(当他被禁止时)。我知道 session_id 每 5 分钟重新生成一次。我们没有将会话存储在数据库中,可能只是每个用户的 session_id。每次 session_id 更改时我应该更新 db 还是有更好的解决方案?

编辑:我认为,解决方案可能是将会话存储在数据库中并将 my_session_id 添加到每个会话中。然后我可以通过这个变量找到需要的会话。请评论这个解决方案,也许有一些没有在数据库中存储会话?

4

1 回答 1

1

好吧,如果可能的话,我建议您将 session_id 存储在 users 表中,否则将 session_ids 与用户 id 映射到单独的表中。

优点

  1. 当用户登录时检查有效的会话 ID 和用户 ID,如果发现是活动用户,则允许他重定向到登录页面。
  2. 在注销时,您可以清除或销毁会话 ID。
  3. 创建一个通用函数来验证用户和会话 ID。
  4. 从帮助程序调用这个通用函数,无论天气如何,如果任何方法经过验证继续执行操作,则调用其他方法重定向到登录。

注意- 我经历过这种情况,因为我从事在线酒店预订工作,每当你点击服务器以获取当前酒店可用性时,它都会返回带有实时价格、房间等的实时数据。这是根据记录的用户会话 ID 存储的,如果他注销他的搜索将从数据库中删除。

于 2013-05-17T10:23:10.687 回答