Logout bei .htaccess?

redlama

Erfahrenes Mitglied
Hallo!

Ich habe für eine unserer Seiten den Zugang zum administrativen Bereich mit einen .htaccess Verzeichnisschutz versehen.
Die Logindaten stecken ja in den Variablen $_SERVER['PHP_AUTH_USER'] und $_SERVER['PHP_AUTH_PW'].
Jetzt das Problem:
Wenn man das Browserfenster schließt, dann kommt man ohne erneute Anmeldung in den Adminbereich (wenn man auf den entsprechenden Link klickt).
Ich muss alle Seiten der Domain schließen, bevor ich mich wieder anmelden muss, um in den Adminbereich zu kommen.
Kann ich das irgendwie umgehen? Gibt es also die Möglichkeit, die Werte aus den beiden Variablen zu löschen, damit ich mich bei nächsten Aufruf neu einloggen muss?

Hab Ihr verstanden, was ich meine?

redlama
 
So direkt hast du darauf leider keinen Einfluss, weil es Sache des Browsers ist, die Benutzerdaten zwischenzuspeichern und bei jedem Aufruf mitzuschicken. Du kannst den Browser aber zumindest indirekt dazu bewegen, die Logindaten zu vergessen, indem du einen 401 schickst:
PHP:
header("HTTP/1.0 401 Unauthorized");
Beim erscheinenden Loginfeld muss man dann auf "Abbrechen" (o.ä.) klicken.
 
Hm, ...
Das klingt doch genau nach dem, was ich suche!
Jetzt ist nur die Frage, wie das auszusehen hast.
Also ich habe im Menü einen Link auf die logout.php.
Und in der logout.php brauche ich dann nur
PHP:
<?php
header("HTTP/1.0 401 Unauthorized");
?>
anzugeben oder wie? Denn es passiert garnichts, wenn ich so auf den Logout Link gehe, ...
Wie muss das also aussehen?

redlama
 
Oh, anscheinend tut's ein 401 alleine nicht. Du musst noch ein WWW-Authenticate mitschicken:
PHP:
header('WWW-Authenticate: Basic realm="My Realm"');
header('HTTP/1.0 401 Unauthorized');
Und anstatt "My Realm" den Wert, den du beim Login auch verwendet hast.
 
Da klappt soweit schon richtig gut, danke!
Aber sag mal, wenn ich jetzt schon soweit bin, kann ich es dann nicht auch hinkriegen, dass ich mich direkt mit anderen Zugangsdaten anmelden kann, wenn das Loginfenster erscheint?

redlama
 
Hat noch jemand eine Idee?
Das Problem ist, das jetzt zwar das Login Fenster erscheint, aber wenn ich mich erneut versuche einzuloggen, dann erscheint das Login Fenster immer wieder (na die 3 mal halt).
Aber ich kann mich leider nicht einloggen.
Weiß einer woran das liegt bzw. was ich ändern muss?

redlama
 
Zurück