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

完全销毁会话的最佳方法-即使没有关闭浏览器

邢承弼
2023-03-14
问题内容

够了吗

session_start();   //  Must start a session before destroying it

if (isset($_SESSION))
{
    unset($_SESSION);
    session_unset();
    session_destroy();
}

当用户Log out从菜单中选择但不退出浏览器时?我想完全删除该会话的所有存在,并$_SESSION


问题答案:

根据手册,还有更多工作要做:

为了完全终止会话(例如注销用户),还必须取消设置会话ID。如果使用cookie传播会话ID(默认行为),则必须删除会话cookie。setcookie()可以用于此目的。

手动链接提供了有关如何执行此操作的完整示例。从那里被盗:

<?php
// Initialize the session.
// If you are using session_name("something"), don't forget it now!
session_start();

// Unset all of the session variables.
$_SESSION = array();

// If it's desired to kill the session, also delete the session cookie.
// Note: This will destroy the session, and not just the session data!
if (ini_get("session.use_cookies")) {
    $params = session_get_cookie_params();
    setcookie(session_name(), '', time() - 42000,
        $params["path"], $params["domain"],
        $params["secure"], $params["httponly"]
    );
}

// Finally, destroy the session.
session_destroy();
?>


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

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

  • 问题内容: 我要销毁logout.php中的所有会话变量,并在用户单击注销时调用它,这是用户不单击logout.php而是直接关闭浏览器。我该如何删除会话呢??? 问题答案: 您可以为会话数据设置过期时间,在每次调用时对其进行测试,并在会话过期时销毁会话:

  • 我正在使用spring boot开发一个小应用程序。我的问题是,我需要显示用户的名字时,一个用户的身份验证正确。每次身份验证(每次登录输入用户名和密码)都会正确显示名字。但是如果我们关闭浏览器并在会话超时之前重新打开它,而没有输入用户名和密码,则不会显示First name。 身份验证时我的口供 安全配置 会话列表 我参考了Java:为什么当tab或浏览器关闭时http会话不被破坏?,正如他们所说

  • 我正在使用Selenium C# Webdriver进行一些自动化测试。完成测试后,我想关闭浏览器。 我使用以下方法初始化驱动程序: 然后在做完某事后,我正在关闭它 有没有办法关闭它?

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