Erri: Programmiertechnik - Loginscript und Zurückbutton des Browsers

Beitrag lesen

Hallo,

ich habe folgendes Problem mit meinem Login-Script bzgl. dem Logout und der anschließenden
Betätigung des Zurückbuttons des Browsers (bis zum erneutem Senden des Login-Formulars)

Vorgehensweise:
1. User loggt sich ein (dabei werden Sessionvariablen registriert)... -> login.php
2. Er besucht "sichere" Seiten -> z.B. secret.php
3. Anschließend loggt er sich aus -> logout.php

Alle Dateien beinhalten folgenden Code, um Cache zu verhindern:

  
  header ("Expires: 0"); // Datum der Vergangenheit  
  header ("Last-Modified: " . gmdate ("D, d M Y H:i:s") . " GMT"); // immer geändert  
  header ("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1  
  header ("Pragma: no-cache"); // HTTP/1.0  

Die Datei secret.php enthält u.a. folgenden Code:

  
if(session_is_registered('login_user')){  
   $status = 1;  //eingeloggt  
}  
else{  
   header('Location: /login.php');  
}  

Wird nun (nach dem Logout) das 1. Mal der Zurück Button aufgerufen (also zurück zur secret.php),
wird der User lt. o.g. Code auch zum Login-Formular geleitet...

BIS HIERHIN FUNKTIONIERT ALSO ALLES SO WIE ICH ES MÖCHTE

JETZT DAS PROBLEM
Betätigt der User nun ein 2. Mal den Zurück Button des Browsers (also nun von der secret.php zurück zur login.php),
"kann" der User das Login Formular erneut senden und ist somit trotzdem wieder eingeloggt.

Bsp.: http://test.desteiger.de/secret.php
      Benutzername: test
      Passwort: gast

Kann man dies irgendwie programmiertechnisch umgehen?
Ich habe zwar schon viel probiert (z.B. datenbankgestützt - Session_ID, User-ID, Timestamp in Datenbank schreiben;
oder auch nach dem  Logout eine neue Session-ID erzeugen) aber ich komme einfach nicht zum gewünschten Ergebnis.

Funktionieren sollte es so, wie beispielsweise bei GMX...

Beim googlen finde ich immer nur die Lösung mit dem Code zur Verhinderung des Caches (siehe oben).
Dies funktioniert leider nur bis dahin, wie mit erneutem Betätigen des Zurückbuttons die login.php nicht erneut
aufgerufen und somit die Logindaten nicht erneut gesendet werden. (Im Beispiel also bis zur secret.php)

Würde mich freuen, wenn mir jemand weiterhelfen könnte.

Vielen Dank
Erri