Mailinglisten-Archive |
Ralf Geschke schrieb am Montag, den 15. März 1999: > Wenn jedoch einmal ein Login erfolgreich war, ist kein "Ausloggen" ohne > Neustart des Browsers moeglich (zumindest nicht hier unter Netscape). Nein nein, gerade anders herum! Die einzige Möglichkeit, die ich kenne, funktioniert nach meinen Tests _nur_ mit Netscape. :-) > Um den Dialog erneut anzuzeigen, muesste man vermutlich ein anderes Realm > einsetzen, diesem z.B. eine Art Session-ID mitgeben. Der Trick ist, daß der Web-Server ein "HTTP/1.0 401 Unauthorized" schicken muß, _obwohl_ der Zugriff mit korrektem PHP_AUTH_USER und PHP_AUTH_PW geschah. Als Folge erscheint dann das bekannte Autentifizierungs-Fenster von Netscape. Und hier muß man nun _abbrechen_, damit Netscape die bisherigen Daten vergißt. (Wählte man "Okay", so würde - mit nun evtl. neuen Daten - nur wieder die ablehnende Seite aufgerufen ...) Anbei findet Ihr eine leicht modifierte Version der Datei, die ich Tobias Ratschiller für sein phpMyAdmin geschickt habe (mal sehen, ob er's in die nächste Version übernehmen will?). Aufruf mit "logoff.php3" liefert erstmal nur eine Erklärung. Aufruf mit "logoff.php3?LOGOFF=1" stößt die eigentliche Abmeldung an. Ciao, Martin -- Martin Ramsch <m.ramsch_(at)_computer.org> <URL: http://ramsch.home.pages.de/ > PGP: 0xE8EF4F75, 52 44 5E F3 B0 B1 38 26 E4 EC 80 58 7B 31 3A D7 Die stärkste Kraft reicht nicht an die Energie heran, mit der manch einer seine Schwäche verteidigt. -- Karl Kraus
<?php /* $Id: logoff.php3,v 1.3 1999/02/24 16:25:22 m.ramsch Exp $ */ if ($LOGOFF != 1): require("header.inc.php3"); ?> <H1>Anderen Benutzernamen wählen</H1> <DIV ALIGN="left"> Um den Benutzernamen wechseln zu können, muß man den Web-Browser dazu veranlassen, die bisher zur Authorisierung verwendeten Daten zu verwerfen. <P>Da die mir bekannten WWW-Browser diese Funktion leider nicht direkt bieten, muß ein Trick herhalten: wenn vom Webserver der Zugriff auf eine Seite plötzlich verweigert wird und man dann <EM>abbricht</EM>, statt sich neu zu authorisieren, vergessen manche Browser die bisherigen Authorisierungsdaten, so daß man sich <EM>danach</EM> wieder neu anmelden kann.<BR> Bisher ist dieses Verfahren erfolgreich mit Netscape getestet ... <P>Bitte wählen sie nun den nachfolgenden Verweis aus - bei der dann angezeigten Fehlermeldung, daß die Authorisierung fehlschlug, bitte <STRONG>abbrechen</STRONG>! <DL><DT> <DD><STRONG><A HREF="logoff.php3?LOGOFF=1">Abmelden!</A></STRONG> </DL> </DIV> <?php else: // LOGOFF==1 Header("WWW-authenticate: basic realm=\". BITTE NICHTS EINGEBEN, SONDERN ABBRECHEN! \""); Header("HTTP/1.0 401 Unauthorized"); require("header.inc.php3"); ?> <H1>Abmeldung</H1> <DIV ALIGN="left"> Der Browser sollte jetzt die bisherigen Einstellungen der Authorisierung vergessen haben, so daß Sie sich <DL><DT> <DD><A HREF="index.html">Neu anmelden!</A> </DL> können. </DIV> <?php endif; require ("footer.inc.php3"); ?>
php::bar PHP Wiki - Listenarchive