强制用户注销会话 PHP

2024-04-21

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

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

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


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

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

强制用户注销会话 PHP 的相关文章

随机推荐

  • 将公钥添加到 ~/.ssh/authorized_keys 不会自动登录

    我将公共 SSH 密钥添加到授权密钥 file ssh localhost应该让我登录而不询问密码 我这样做并尝试输入ssh localhost 但它仍然要求我输入密码 我还需要进行其他设置才能使其正常工作吗 我已按照更改权限的说明进行操作
  • MASM32 中令人困惑的括号

    我正在尝试掌握 MASM32 但对以下内容感到困惑 我认为括号用于间接 所以如果我有预定义的变量 data item dd 42 then mov ebx item 会将 item 的内容 即数字 42 放入 ebx 中并 mov ebx
  • 来自卸载事件的同步 AJAX 发布:如何确保用户在下一页加载时看到来自数据库的最新信息

    当用户请求编辑 CMS 中的条目时 我们会 锁定 它 以便其他人无法同时编辑它 当他们提交更改时 我们会释放锁定 然而 我们需要处理用户通过其他链接离开页面的情况 我的第一次尝试是使用 jQuery 来触发同步 ajax 呼吁 window
  • 通过Entity类名动态获取一个DbSet

    我正在尝试使用System Reflections得到一个DbSet
  • 如何使用批处理全屏打开窗口

    我之前用代码制作了一个批处理文件 start chrome exe profile directory Profile 1 http drive google com 它会以配置文件 1 用户的身份打开 google chrome 页面 D
  • 尝试从故事板初始化视图控制器

    我有一个视图控制器放置在主故事板中 但是当我尝试初始化并加载视图控制器时 我的应用程序崩溃了 我使用的 xcode 版本并没有真正告诉我我正确得到的错误 但我确实看到它给了我一个 sigabrt 信号 我不知道为什么它不起作用 UIStor
  • 使用文档片段真的能提高性能吗?

    我对 JS 的性能有疑问 比如说 我有下一个代码 var divContainer document createElement div divContainer id container var divHeader document cr
  • Elastic Beanstalk:Amazon Linux 2 平台上的日志任务自定义

    我想知道该怎么做日志任务定制 https docs aws amazon com elasticbeanstalk latest dg using features logging html health logs extend在新的 El
  • 如何查看定位服务是否开启?

    如何检查用户是否关闭了定位服务 这样我就可以提示他 她打开它才能使用我的应用程序 谢谢 The CLLocationManager提供类方法来确定位置服务的可用性 BOOL locationServicesEnabled for lt iO
  • 在 Visual Studio 中进行嵌入式代码开发(尤其是使用 C18 的 PIC)

    我使用 Visual Studio 编写桌面应用程序 我发现它非常用户友好且易于使用 如果可能的话 我还想在Visual Studio中编写嵌入式代码 例如 是否可以使用 C18 或任何其他类似的基于 C 的语言为 PIC18Fxxx 系列
  • javax.management.InstanceAlreadyExistsException:com.zaxxer.hikari:名称= dataSource,类型= HikariDataSource

    我怎么解决这个问题 哪个是最好的选择以及如何做到这一点 设置唯一的池名称 销毁之前的连接池 org apache catalina core ApplicationContext log Initializing Spring embedd
  • 检测unicode字符串中的非ascii字符[重复]

    这个问题在这里已经有答案了 给定一个文本文件 或 unicode 字符串 检测 ASCII 编码之外的字符的好方法是什么 我可以轻松地将每个字符迭代传递给ord 但我想知道是否有更有效 更优雅或更惯用的方法来做到这一点 这里的最终目标是编译
  • Ruby/Rails 中的夏令时开始和结束日期

    我正在开发一个 Rails 应用程序 我需要在给定特定偏移量或时区的情况下查找夏令时开始和结束日期 我基本上将从用户浏览器接收到的时区偏移保存在数据库中 3 5 并且我想在由于夏令时而改变时对其进行修改 I know Time实例变量有ds
  • 获取 OS X 中用户库文件夹的路径

    我需要打开一个 NSSavePanel 并将用户库文件夹作为目标文件夹 通常我会通过输入来做到这一点 Library in NSSavePanel beginSheetForDirectory 只要应用程序没有被沙箱化 这种方法就可以正常工
  • Android Studio 1.0.2 m2respository gradle问题

    使用Android Studio 1 0 2 并且强制使用Gradle 2 2 1 所有系统变量都是正确的 在新的更新中 旧版本的 gradle 和 m2repository 存在问题 我正在尝试导入 kickflip io android
  • 如何手动调用(查找)ReCaptcha Callback函数?

    我目前正在尝试验证码解决 并决定使用流行的 2captcha 服务来实现此目的 他们的方法是向他们发送验证码值 谷歌验证码密钥和站点线程 然后他们解决它并向我发回应该发送给谷歌的完成值 以检查验证码是否已解决 我被困在最后一步 使用返回的解
  • 包装 API 以支持依赖注入

    我正在与一个只有静态函数的 API 进行交互 并且无法打开和更改 public class WindowsNativeGraphAPI public static IEnumerable
  • 练习:网络爬虫 - 并发不起作用

    我正在经历 golang 之旅 并致力于最后的练习 以将网络爬虫更改为并行爬行而不是重复爬行 http tour golang org 73 http tour golang org 73 我所改变的只是抓取功能 var used make
  • Android Resources$NotFoundException:无法找到资源 ID

    我从 Firebase 收到一份活动报告 由于找不到我的资源而导致活动失败 我真的很困惑为什么找不到它 因为我相信所有文件都在正确的目录中 并且用户使用的是 Android v8 1 它并不古老 应该能够处理我认为有的东西自 v1 1 以来
  • 强制用户注销会话 PHP

    我似乎无法找到这个问题的直接答案 有没有办法强制登录用户注销 我的登录系统本质上只依赖于包含用户唯一 ID 存储在 mysql 数据库中 的会话 所以本质上只是 if isset SESSION user id echo You re lo