Frage

  

Mögliche Duplizieren:
   HTTP-Authentifizierung logout über PHP

Hallo

Ich habe eine gewisse Funktionalität auf meiner Website mit .htaccess und .htpasswd geschützt. Wenn Benutzer versuchen, diese zuzugreifen, erhalten sie prompt Details einzugeben. Sie geben ihre Details und bekommen in und sehen Sachen etc. Alles funktioniert gut.

Meine Frage ist, wie kann ich eine logout Funktionalität für diese Art der Authentifizierung erstellen. Ich weiß, dass sie die Browser-Fenster auf „Logout“ schließen kann. Aber das ist nicht ideal. Was würden Sie mir?

Danke.

War es hilfreich?

Lösung

Browser in der Regel tun dies nicht unterstützen, finden Sie Wie ich aus melde?

  

Da Browser gestartet erster   Implementierung der Standardauthentifizierung,   Website-Administratoren haben wollte   wissen, wie der Benutzer sich abmelden lassen.   Da der Browser-Caches den Benutzernamen   und das Passwort mit der Authentifizierung   Reich, wie zuvor in diesem beschrieben   Tutorial, das ist nicht eine Funktion von   die Serverkonfiguration, ist aber ein   Frage des Erhaltens der Browser   vergessen die Anmeldeinformationen, so   die Ressource, die das nächste Mal ist   angefordert, der Benutzername und das Passwort   müssen wieder zugeführt werden. Es gibt   zahlreiche Situationen, in denen dies   wünschenswert, wenn beispielsweise ein unter Verwendung von   Browser in einem öffentlichen Ort, und nicht   wollen den Browser angemeldet verlassen   in, so dass die nächste Person bekommen   auf Ihr Bankkonto.

     

Doch obwohl dies vielleicht die   am häufigsten gestellte Frage über   Basis-Authentifizierung, die bisher keines   die großen Browser-Hersteller haben   gesehen dies als ein wünschenswertes Merkmal sein   setzen in ihre Produkte.

     

Folglich ist die Antwort auf diese Frage   Frage ist, kann man nicht. Es tut uns Leid.

Es gibt Browser-Erweiterungen, die Ihnen die HTTP-Authentifizierung für eine Website löschen lassen. Für Firefox den WebDeveloper

Andere Tipps

Getestet auf Firefox und Chrome . Was Sie tun können, ist, den Benutzer zu http senden: // logout: logout@example.com . Dies wird ihr aktuelles Benutzername / Passwort mit logout / Logout ersetzen (es könnte eine unwirksame Benutzer / Pass Kombination sein), und da sie jetzt das falschen Benutzername / Passwort haben, müssen sie sich wieder anmelden auf die Website zugreifen.

Auf Oper dies nicht funktioniert, weil Sie mehrere Benutzernamen / Passwörter zur gleichen Zeit haben. Es hat auch nicht auf IE arbeiten, weil IE nicht erscheint http zu unterstützen: // username: password@example.com URLs.

Ich lief in dieser Frage vor einigen Jahren. Es ist unglaublich frustrierend zu entdecken, gibt es ein Problem jeder hat und niemand scheint in allgemeiner Art und Weise lösen zu wollen.

Wie bereits erwähnt in Unzureichende Logout-Funktionalität in HTTP-Authentifizierung ich denke, die Antwort ist den RFC zu ändern Timeouts zu ermöglichen und eine Schaltfläche abmelden zu unterstützen. Der zusätzliche Vorschlag des Autors, dass der Server in der Lage sein, einen „Abmelden“ Header senden würde die Notwendigkeit tatsächlich beseitigt für jeden Client-Support-User-Agenten, da Websites könnten einfach einen Link auf einer Webseite zu einer URL, die Liefert der erforderliche Antwortcode und / oder Kopf die aktuelle Sitzung ungültig zu machen.

Es ist eine Art möglich abzumelden. Sie sollten Logout-Seite implementieren, die HTTP 401 zurück, bis der Benutzer BAD Login-Daten eingeben und dann umzuleiten. Browser merkt sich die aktuelle Login-Daten akzeptiert, und daher außer Kraft setzt korrekte Anmeldung.

Aber das ist irgendwie unbrauchbar, cos es Benutzer Zusammenarbeit muss.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top