删除特定的 PHP 会话

删除特定的 PHP 会话

我使用 PHP 会话作为网站上用户系统的焦点。作为网站管理员,我想删除特定会话以强制用户注销。或者至少删除所有会话,这样每个人都必须重新登录(例如网站进行重大更新)。理想情况下,通过 php 命令,但如果是通过删除文件,我显然可以使用 php 文件命令来执行此操作。

我曾共享过 Linux 网站托管(没什么特别的,有一个 cPanel 界面)。我看到了这个问题PHP 会话文件会被删除吗?

/tmp 仅包含统计文件和一个空的 pear 文件夹。

在写这篇文章时,我认为最好检查一下 phpinfo()。session.save_path 是 /tmp(本地和主)。我到底在寻找什么样的文件名?

答案1

最大的问题是您是否希望能够删除指定用户的会话 - 用户 ID 的概念是通过您的应用程序代码或您正在使用的框架实现的 - 因此 PHP 不知道如何区分特定用户。很有可能有一个会话没有拥有可识别的用户;会话管理、身份验证和授权都是单独的关注点,并且 php 中作为标准提供的功能仅解决前者。

话虽如此,PHP 可以很容易地实现您自己的会话存储,因此编写自己的函数来维护用户 ID 和会话 ID 之间的映射应该是微不足道的(这不必在会话处理程序中完成 - 但它是做这件事的正确地方)。

如果你只是想终止所有会话,并且使用默认处理程序,那么只需删除指定目录中的文件即可session.save_path在您的 php.ini 文件中。

相关内容