【发布时间】:2017-11-13 02:16:17
【问题描述】:
我正在为我的应用程序使用 Codeigniter 3,为了更高的安全性,我想为用户提供一个选项来销毁他的所有会话。
为什么?因为用户在不同设备上登录时可能有多个活动会话。如果一个设备或帐户被劫持,用户应该有可能销毁他所有的活动会话,并且被劫持的帐户/设备被 CI 应用程序强制注销。
使用 Codeigniter 和 sess_time_to_update 配置并不那么容易。因为在特定时间之后,会话将使用新的会话 ID 重新生成。
Destroying a specific session in Code Igniter 只是解决方案的一半,因为在会话重新生成时,用户 ID 列不会填充用户 ID。
简而言之目标: CI 需要一个函数来根据用户 ID 查找所有会话,或者在 sess_time_to_update 配置自动重新生成用户 ID 后,我们如何将用户 ID 添加到会话中
感谢您的提示和帮助
【问题讨论】:
-
我认为您需要创建一个自定义会话处理程序并将会话保存在数据库中......这将为您提供帮助
-
我认为您可以在用户注销时在数据库中添加标志,并在每次用户尝试从其他设备登录时检查该标志
标签: php codeigniter session logout destroy