auf meiner Homepage habe ich einen Verzeichnisschutz mit htaccess eingerichtet. Soweit so gut.
Nun möchte ich mich aber auch wieder ausloggen können. Das möchte ich mit PHP realisieren, weil mir so spontan nichts anderes einfällt, einen 401-Header zu senden.
Nun lasse ich folgenden Code ausführen, wenn auf ausloggen geklickt wird:
Wird an sich auch wunderbar ausgeführt. Ich bekomme wirklich den 401-Header zu sehen (eine kleine Anmerkung: in Bereich steht auf einmal "User area 32289") und wenn ich ein falsches Passwort eintrage, dann kommt auch meine 401-Seite.
Dummerweise komme ich wieder mit der Zurück-Funktion im Browser auf meine "geheimen" Seiten und kann da auch fröhlich weiter machen.
Mein Ziel:
1) Möglichst die erneute Passwortabfrage weglassen (er loggt sich ja aus und nicht neu ein!)
2) Fehler 401 soll ausgeführt werden
3) er soll nicht mehr über zurück rein kommen (Manchmal lädt der Browser die Seite aus dem Cache nach, das ist nicht so schlimm. Aber keine weiteren Aktionen sollten möglich sein)
Dabei seit: 11.02.2003
Beiträge: 520
Herkunft: /NRW/Wesel groupadd Essen
mit google immer auf der richtigen seite:
--------------------------------------------------------------
Da der Browser die Kombination username
asswort zwischenspeichert, wird diese auch bei jeden Zugriff vom Browser automatisch geschickt. (Der Zugriff auf diese geschuetzten Bereiche erfordert fuer JEDES EINZELELEMENT die Genehmigung durch username und passwort.)
Die Loesungen, die man mittels Login und Logout sieht, basieren (meist realisiert mit php) auf Scriptsprachen und der Auswertung von z.B.
- Session-IDs
- Cookies
- Kombinationen von SID und Cookie
d.h.: bei einem Login wird einmalig username und passwort abgefragt, dann wird dem Benutzer eine SID und/oder ein Cookie zugeteilt. Diese werden dann bei Benutzung abgefragt, und bei einem Logout wird das Ganze dann auf Serverseite ebenfalls als ungueltig markiert, auch wenn der Browser noch ein entsprechendes Cookie haben sollte, oder eine SID, z.B. durch die Back-Taste des Browsers - es wird zwar evtl noch der Inhalt des Cache angezeigt, eine "Arbeit" ist nach dem Logoff aber nicht mehr moeglich.
Zurueck zu HTTP_AUTH: es muessen alle Browserfenster geschlossen werden, dabei wird dann der Speichercache ebenfalls gelehrt, und die Kombinationen aus username
asswort befinden sich nach Neustart nicht mehr "zur automatischen Sendung" bereit. Wobei natuerlich Seiten im Festplattencache immer noch vorhanden sind.
Ist es sicherheitsrelevant (z.B. andere Benutzer an gleichem PC), sollte also auch immer der Festplattencache ebenfalls geloescht werden. Gilt uebrigens auch bei den obigen Moeglichkeiten, die ein Logout bieten.
__________________ webdesign - selfhtml - selfphp - w3c wenn eine freie gesellschaft den vielen, die arm sind, nicht
helfen kann, so kann sie auch jene nicht retten, die reich sind c-schell.de - ADCC e.V.
Dabei seit: 28.11.2001
Beiträge: 789
Herkunft: Berlin
du kannst aber auch die Variablen die der Apache / PHP zur verfügung stellt (wo PW und user drin steht) anderweitig beschreiben (etwas faslches eingeben oder "NULL" dann ist auch der Error.