当会话存储在默认的 php 会话存储中时,有什么方法可以删除用户会话?
例如,我是网站管理员,我想禁止登录用户。用户认证状态存储在会话中。我正在从数据库中删除用户行,但仍然记录了用户,并且所有必要的身份验证信息也存储在会话中。我需要删除/修改会话。
可能的方式:
- 在每个请求上从数据库加载用户的行
- 创建文件,表示删除用户的会话并在每个请求时检查此文件是否存在
- /dev/shm 中的 crete 文件(检查速度非常快),但重新启动时文件将被删除
- 在数据库中存储会话(我的项目的开销)
- 在 nosql(redis、memcachedb)中存储会话(我的项目的开销)
除了将用户的会话存储在数据库或 nosql 数据存储中之外,还有什么优雅的方法吗?