/ (SERVER) User ausloggen
Tobias
- php
0 David0 wahsaga
0 wahsaga0 WAB
0 Thomas Luethi0 Thoralf Knuth0 Tom
Hallo Forumer,
ich habe am Server ein Verzeichnis geschützt, in dem Verzeichnis
liegt eine index.php die mit REMOTE_USER den User überprüft und
in sein Verzeichnis, was auch geschützt ist, weiterleitet.
Falls der User später wiederkommt, wird sein Passwort wieder
automatisch gesetzt (mit IE z.B.). Gibt es eine Möglichkeit den
User "auszuloggen" wenn er die Seite oder das Verzeichnis verlässt
so das er sein Passwort immer wieder eingeben muss?
thx.
Tobias
Hallo Tobias,
ein direkter Logout ist soweit ich weiss bei .htaccess nicht möglich. Der Logout erfolgt beim schließen des Browserfensters.
David
hi,
ein direkter Logout ist soweit ich weiss bei .htaccess nicht möglich. Der Logout erfolgt beim schließen des Browserfensters.
HTTP AUTH kennt keinen logout, weil es auch keinen login kennt.
die authentifizierungsdaten werden bei _jeder_ anforderung einer neuen seite vom client wieder erneut an den server übermittelt.
gruss,
wahsaga
hi,
redest du von HTPP AUTH?
dann ist folgende frage
Gibt es eine Möglichkeit den
User "auszuloggen" wenn er die Seite oder das Verzeichnis verlässt
so das er sein Passwort immer wieder eingeben muss?
nämlich mit "nein, HTTP AUTH sieht keinen logout vor" zu beantworten.
gruss,
wahsaga
redest du von HTPP AUTH?
Was ist HTPP? "Hypertext Pransfer Protocol"? ;)
Hallo,
Falls der User später wiederkommt, wird sein Passwort wieder
automatisch gesetzt (mit IE z.B.).
Was meinst Du mit "spaeter"?
Gegen 1. kannst Du rein HTTP-Auth-maessig (fast) nichts machen.
Sobald der Browser mit einer Benutzername-/Kennwort-Kombination
irgendwo reingekommen ist, merkt er sich diese, bis er geschlossen
wird oder bis er einen 401-Header kriegt, aus dem er dann schliesst,
das Passwort sei nicht richtig.
Die Ansaetze, bei Passwortschutz mit .htaccess auch ein
"Ausloggen" zu ermoeglichen, beruhen auf Basteleien,
mit denen trotz korrektem Passwort ein HTTP-401-Header
geschickt wird, und bei denen der Browser dann meint, das
Passwort sei falsch.
Ist aber wie gesagt nur ein unzuverlaessiges Gebastel.
Du koenntest - statt HTTP-Auth., bei der der Browser bei jeder
Anfrage Benutzername und Passwort schickt - Sessions
verwenden, und dann beim aktiven "Ausloggen" die Session
zerstoeren. Um eine neue Session zu kriegen, muesste der
Benutzer dann wieder auf die "Einloggen" Seite.
Aber wenn Du als Schutz fuer diese Seite HTTP-Auth.
verwendest, dann merkt sich der Browser die Benutzername-/
Passwort-Kombi fuer diese Seite, bis er geschlossen wird
oder bis er dort eine 401-Meldung kriegt (siehe oben).
Gegen 2. kannst Du sowieso nichts machen.
Wenn ein Benutzer so bequem und fahrlaessig ist, sich die
Passwoerter permanent von seinem Browser speichern
zu lassen, kannst Du nichts dagegen tun.
Gruesse,
Thomas
Hallo Tobias,
ein Ansatz, der funktionieren soll, den ich aber noch nicht getestet habe: Bei jedem Seitenaufruf dynamisch den Realm (AuthName) ändern. Das soll die meisten Browser dazu bewegen, JEDESmal nach dem Credentials zu fragen. Ggf. musst Du sogar den Namen der Datei oder zumindest den URL jedesmal ändern.
Eine richtige Lösung gibt es nicht, denn Du versuchst vom Server aus ein Sicherheitsrisiko beim Benutzer zu minimieren. ;)
Gruss, Thoralf
Hello,
ein Ansatz, der funktionieren soll, den ich aber noch nicht getestet habe: Bei jedem Seitenaufruf dynamisch den Realm (AuthName) ändern. Das soll die meisten Browser dazu bewegen, JEDESmal nach dem Credentials zu fragen. Ggf. musst Du sogar den Namen der Datei oder zumindest den URL jedesmal ändern.
Das habe ich mal "großtechnisch" eingebaut, was den Server dann heillos zum Absturz brachte. Einige Browser sind dann nämlich der Meinung, dass sie für die URL doch die Credentials hätten und schicken die dann, sooft der Server mit 401 antwortet. Sie probieren dann einfach aus, wer zuerst aufgibt. Nix mit "nach dreimal ist Schluss".
Hier ist ja leider der Browser zuständig für die Zählerei...
Grüße
Tom