当前位置: 首页 > 面试题库 >

远程销毁php中的会话(用户在其他地方登录)?

葛驰
2023-03-14
问题内容

嘿,我试图让我的php网站在同一用户登录其他地方时基本上“注销”(session_destroy())。有没有办法做到这一点?要远程销毁特定会话?

谢谢大家!


问题答案:

使用当然可以session_id。当用户在其他地方登录时,可以在开始新会话进行新登录之前执行以下步骤:

// The hard part: find out what $old_session_id is

session_id($old_session_id);
session_start();
session_destroy();

// Now proceed to create a new session for the new login

这将破坏服务器端的旧会话,因此,当另一台计算机再次访问您的应用程序时,它将尝试访问一个不存在的会话,并为其创建一个新的会话(在该用户中不再登录) 。

困难的部分是找出“旧”会话的ID。没有一种千篇一律的方法可以做到这一点。您需要具备某种机制才能判断ID为XXX的会话属于当前登录的同一用户。如果您正在使用数据库会话,这应该很容易。



 类似资料:
  • 问题内容: 我创建了一个基于会话的简单登录页面。 并添加了一个包含此内容的注销页面 现在,当我关闭浏览器/页面并重新打开它时,会话的值仍然存在。 我想知道如何完全销毁页面/浏览器关闭上的会话。 问题答案: 如果您使用: 关闭浏览器时,您的会话cookie将会被破坏…因此,在关闭浏览器之前,您的会话将是良好的。IE浏览器 您登录并登录,然后关闭浏览器,然后重新打开,再次进入该站点,您将不会登录。

  • 问题内容: 我正在尝试正确注销管理员用户。这是我的功能: 基本上,一旦我对密码进行了身份验证,就将会话设置为有效(总共只有1个用户)。现在,当管理员点击注销时,我想销毁当前会话,并销毁cookie,以便他们不能只是使用浏览器中存储的会话cookie返回管理页面。但是我的代码不起作用。我点击注销,然后我可以直接导航回到管理页面。但是,如果我删除Cookie,则该功能非常完善。那么这里的cookie删

  • 问题内容: 尽管此问题有多个重复项,但我找不到适合我的解决方案。需要一些帮助。 我已在配置文件中使用过。 但这并没有帮助我破坏浏览器关闭时的会话。 应用电流: 1)如果用户有效,则在身份验证页面中,使用生成新的会话标识符 2)控制转到welcome.php,在这里我使用开始新的会话 3)在注销页面中的代码是 问题答案: 最好的方法是关闭会话:如果在特定时间间隔后该会话没有响应。然后关闭。

  • 即使在注销后,会话仍保持活动状态。 这是我的登录文件。 公共函数loginAsAdmin($wpUserName,$wpPassword){ } 细节 代码欺骗版本: 2.2.10 PHP版本:操作系统: OS X安装类型:作曲家安装包列表(作曲家显示)我正在使用Lucatume/wp浏览器包进行代码欺骗 这是我的套件配置: class_name:AcceptanceTester模块: 这很好,我

  • 问题内容: 从php.net获得它,但是我不确定这是每个人如何破坏所有会话的方式吗? 代码会破坏所有会话吗?这是最常见的方式吗?你们如何破坏php会话? 哦,对了,那是什么?所有会话名称?例如,......? 我不需要再使用了吗? 和之间有什么区别? 问题答案: 首先,您应该知道什么是会话:您可以将会话视为与随机标识符(会话ID)相关联的服务器端数据容器。该会话ID需要由客户端提供,以便服务器可以

  • 有没有办法销毁特定类的所有创建的会话范围bean(并在需要时让spring重新创建)? 例如,两个用户访问应用程序,然后每个用户将有一个bean。我想毁掉这两颗豆子。 用例: 管理员正在更新菜单栏。菜单栏列表数据存储在会话范围的bean中。管理员的bean应该被销毁,菜单栏应该被更新。当然,其他人的菜单也应该更新,所以其他bean也应该被销毁。 注1:不同的用户可能会看到不同的菜单,因此bean是