phpbar.de logo

Mailinglisten-Archive

[php] Session ID löschen/deaktivieren

[php] Session ID löschen/deaktivieren

Martin Samesch phpcenter at theraphosidae.net
Son Okt 26 12:52:00 CET 2003


Hallo Dennis,

On Sun, Oct 26, 2003 at 11:28:09AM +0100, Dennis Sterzenbach wrote:
> Hi Listige,
> 
> [...]
> Bei Logout mach ich nun folgendes:
>         session_unset();
>         session_destroy();
>         $_SESSION = array();
>         Header('location: ' . $script_basepath);
>         exit(0);

Aus http://de3.php.net/manual/de/function.session-destroy.php

  Beispiel 2. Löschen einer Session mit $_SESSION

  <?php

  // Initialisierung der Session.
  // Wenn Sie session_name("irgendwas") verwenden, vergessen Sie es
  // jetzt nicht!
  session_start();
  // Löschen aller Session-Variablen.
  $_SESSION = array();
  // Zum Schluß, löschen der Session.
  session_destroy();
  ?>

> Leider wird aber die selbe (alte) Session-ID weiterhin verwendet.
> Und genau das möchte ich nicht.

Klar, steht ja schon im Handbuch
(http://de3.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.

> Gibt es eine Möglichkeit, dass PHP mir eine neue Session-ID erzeugt,
> außer dass der Benutzer den Browser schließt?

Das Cookie musst Du wohl noch löschen. Damit habe ich mich noch nicht
befasst aber unter
http://de3.php.net/manual/de/function.setcookie.php findest Du
folgendes:

  Beispiel 2. setcookie() Beispiele zum Löschen

  <?php
  // Setzen des Verfalls-Zeitpunktes auf 1 Stunde vorher
  setcookie ("TestCookie", "", time() - 3600);
  setcookie ("TestCookie", "", time() - 3600, "/~rasmus/", ".example.com", 1);
  ?>

Grüße,
Martin

php::bar PHP Wiki   -   Listenarchive