it-calle
Goto Top

Logout auf Website - Sessoin bleibt bestehen

Hallo,

ich habe ein Problem, das wiefolgt aussieht. Ich logge mich ganz normal auf einer Website ein (Lokal mit Datenbank).
Sofern ich mich aber auslogge, dann behält er die Session obwohl ich sage, das er beim Abmelden die Session erstören soll.
Was kann es sein, das er die Session behält?

Ich danke schonmal im vorraus.

LG
IT-Calle

Content-ID: 287118

Url: https://administrator.de/contentid/287118

Ausgedruckt am: 22.11.2024 um 20:11 Uhr

michi1983
michi1983 30.10.2015 um 06:52:41 Uhr
Goto Top
Hallo,

ganz klar: falscher Name verwendet!

Jetzt mal im Ernst:
Wie wäre es mit etwas mehr Infos bezüglich eingesetzter Software des Webservers bzw. Programmiersprache der Website und ev. ein Code Snippet wo du das mit der Session definiert? face-wink

Gruß
Dilbert-MD
Dilbert-MD 30.10.2015 um 08:40:44 Uhr
Goto Top
Hallo,

hilft es, wenn du via [Strg]+[Alt]+[Entf] die Cookies löscht?


Gruß
Holger
IT-Calle
IT-Calle 30.10.2015 um 10:02:44 Uhr
Goto Top
Hallo michi1983,

hier ist der Code für das Logout

<?php
    error_reporting(E_ALL);
    include("mysql.php");  
    include("functions.php");  

    session_start();
    include("autologout.php");  


    // User ausloggen
    doLogout();
    // $_SESSION leeren
    //$_SESSION = array();
    // Session löschen
    session_destroy();
    echo "Sie wurden erfolgreich ausgeloggt.<br>\n".  
    "Zur <a href=\"/gs/index.php\">Startseite</a>\n";  
?>


Hallo Dilbert-MD,
nein leider hilft es nicht. Habe schon etliche Sachen ausprobiert unter anderem das mit den Cookies löschen.

LG
IT-Calle
michi1983
michi1983 30.10.2015 aktualisiert um 10:16:37 Uhr
Goto Top
Warum hasst du das $_SESSION = array(); auskommentiert?

http://php.net/manual/de/function.session-destroy.php
session_destroy() löscht alle in Verbindung mit der aktuellen Session stehenden Daten. Mit der Session zusammenhängende globale Variablen und das Session-Cookie werden nicht gelöscht. Um wieder Session-Variablen verwenden zu können, muss session_start() aufgerufen werden.

Um die Session komplett zu löschen, z.B. um einen Benutzer auszuloggen, muss auch die Session-ID gelöscht werden. Wenn zum Verfolgen der Session ein Cookie benutzt wird (standardmäßige Einstellung), muss das Session-Cookie gelöscht werden. Dafür kann setcookie() verwendet werden.


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