php - 强制用户注销 session PHP

标签 php session authentication logout

我似乎找不到这个问题的直接答案。有没有一种方法可以强制登录用户注销?我的登录系统基本上只依赖于包含用户唯一 ID(存储在 mysql 数据库中)的 session 。所以本质上只是...

if (isset($_SESSION['user_id'])) {
echo "You're logged in!";
} else {
echo "You need to login!";
}

但是假设我想禁止这个用户,那么我可以在我的数据库中将他们的状态更改为禁止,但是在用户注销并尝试重新登录之前这不会做任何事情......那么,我该怎么做强制该用户注销?最好不要每次查看页面时都检查他们的状态是否已切换为“禁止”,因为这似乎对我的服务器造成了不必要的压力。感谢您提供任何帮助,谢谢。

最佳答案

您需要在他们每次加载页面时进行检查,或者可能以设定的时间间隔查看 Ajax 调用以从数据库检查他们的状态。

然后你可以使用 session_destroy(); 来结束他们的 session 。这将破坏他们的整个 session 。

否则,您可以使用 unset($_SESSION['user_id']); 取消设置单个 session 变量

关于php - 强制用户注销 session PHP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10407555/

相关文章:

python - 注册用户名和密码

php - FuelPHP ORM 模块/包交互/ Hook

php - 日期转换为数据库日期

ruby-on-rails - Rails session ID 为零

c# - ViewState 与 Session ... 通过页面生命周期维护对象

php - Smarty 终止了我的 session

php - 在 PHP 中初始化全局变量

php - 删除json中的括号?

authentication - CookieAuthenticationOptions,ExpireTimeSpan 不起作用

redirect - Joomla 3 登录重定向 - 在登录模块中工作,但在组件登录 View 中不起作用