проблема с удалением сессий в PHP с помощью unset_session в FireFox - PullRequest
0 голосов
/ 12 сентября 2011

Хотя я нажимаю на ссылку выхода из системы, это не приводит к выходу пользователя со страницы, но когда я обновляю вручную после нажатия, он действительно выйдет из системы. Команда выхода из системы:

$URL = $_GET['url'];
session_unset();
redirect($URL); 

Когда страница перенаправлена, я вижу переменные сеанса, хотя они были удалены и только после ручного обновления все в порядке.

Нет проблем в Chrome и IE.

1 Ответ

0 голосов
/ 12 сентября 2011

Чтобы действительно выйти из системы, необходимо также сбросить идентификатор сеанса и файл cookie, который используется для передачи идентификатора сеанса клиенту.

Вот пример кода из руководства по PHPчто делает это:

<?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();
...