Firefox vergisst schnell HTTP Basic Auth

87

Wie kann ich Firefox dazu bringen, gespeicherte HTTP Basic Auth-Anmeldeinformationen für eine Website vom Client aus "ungültig" zu machen?

Momentan muss ich den Browser neu starten, was mit mehreren geöffneten Tabs eher umständlich ist.

Gibt es eine Möglichkeit, dies zu tun, ohne Firefox neu zu starten / den Cache zu leeren / etc.

MiffTheFox
quelle

Antworten:

75

Sie können wählen Neueste Chronik löschen aus der Geschichte Menü ( Ctrl+ Shift+ Del, Macs: Cmd ⌘+ Shift+ Del). Sie können dann festlegen, dass nur die aktiven Anmeldungen aus den Details gelöscht werden, um nur diese Sitzungen zu löschen.

In älteren Versionen von Firefox (wie FF3), Neueste Chronik löschen ist unter dem Extras - Menü. Die Verknüpfung ist die gleiche.

heavyyd
quelle
7
Im aktuellen Firefox befindet sich dieser Menüpunkt im HistoryMenü, nicht Tools. Ich habe dies mit Firefox 29.0.1 überprüft.
Mei
arbeitet an Firefox Danke
Themhz
63

Wenn Sie den Benutzernamen und das Kennwort von der ursprünglichen Sitzung in eine Sitzung ändern, die nicht authentifiziert werden kann, zerstört Firefox alle Verweise auf die alte Authentifizierung und versucht, die neue zu erstellen.

Sie können die Authentifizierung ändern / festlegen, indem Sie user: pass @ am Anfang der URL hinzufügen, Beispiel: http: // user: [email protected]/

Wenn Sie mit user: pass bei www.example.com angemeldet sind, geschieht dies durch Eingabe von @ (am Anfang der Adresse), Beispiel: http: //[email protected]/

Eine schnelle Lösung, für die keine Plugins erforderlich sind.

Bitte beachten Sie, dass dies nur für HTTP Basic Auth funktioniert.

Ein zusätzlicher Nebeneffekt ist, dass dies nur die Website betrifft, mit der Sie interagieren. Alle anderen Anmeldungen auf einer anderen Website bleiben aktiv.

Drew Anderson
quelle
7
Das ist eine großartige Antwort. Einfach, benutzerfreundlich, keine zusätzliche Software erforderlich und clever auf eine nicht offensichtlich offensichtliche Art und Weise.
Wfaulk
3
Drew Anderson,
@DrewAnderson Als ich das letzte Mal nachgesehen habe, hat nur Firefox den Benutzer unterstützt: Pass @ -Notation in der URL-Leiste.
Masterxilo
10

Über die Web Developer- Symbolleiste kann die HTTP-Authentifizierung innerhalb einer Browsersitzung zurückgesetzt werden.

Wählen Sie im Firefox-Kontextmenü den Befehl Web Developer -> Verschiedenes -> Private Daten löschen -> HTTP-Authentifizierung.

boot13
quelle
1
Kann dies auf dem aktuellen Firefox
Scolytus
2
Leider scheint diese Funktion irgendwann verschwunden zu sein, seit ich diese Antwort gepostet habe.
boot13
1
Einfach getestet, funktioniert! Bitte beachten Sie: Dies ist kein Bestandteil der Firefox-Tools. Sie müssen das verknüpfte Add-On installieren.
Diego V
2

Es gibt keine Möglichkeit für die Website, sich abzumelden

Das ist falsch. Es gibt verschiedene und einfache Möglichkeiten für die Website, Abmeldemöglichkeiten anzubieten.

1) Der Link zum Abmelden verweist auf eine URL in derselben Domain, die absichtlich falsche Anmeldeinformationen enthält

2) Der Abmeldelink löst Javascript mit folgendem Codeausschnitt aus (nur Microsoft Internet Explorer):

<script>document.execCommand('ClearAuthenticationCache', 'false');</script>
Jan Cinert
quelle
3
Es scheint keine Möglichkeit zu geben, Anmeldeinformationen, die sich über alle Browser hinweg konsistent verhalten, zuverlässig zu ungültig zu machen und keine unerwünschten Anmeldefelder zu öffnen.
Michael
Der Link zum Abmelden mit falschen Anmeldeinformationen ist bereits in einer anderen Antwort enthalten
Dmitry Grigoryev,
2

Stellen Sie die Anfrage aus einem privaten Fenster.

In Firefox: File - New Private Window(Ubuntu Ctrl+Shift+P)
In Chrome New incognito Window(Ubuntu Ctrl+Shift+N)

tobias.h
quelle
0

Ich bin mir nicht sicher, ob dies jemand anderem hilft, aber in meinem Fall dachte ich, dass es ein falsches Passwort ist, das Firefox gespeichert hat, als ich nicht auf eine Site mit einfacher HTTP-Authentifizierung zugreifen konnte. Es stellte sich jedoch heraus, dass die Site tatsächlich NTLMv1 (Windows-Version der grundlegenden http-Authentifizierung) verwendete, die Firefox seit Version 30 standardmäßig deaktiviert hat.

Um dies zu aktivieren, gehen Sie zu about: config und setzen Sie die Option network.negotiate-auth.allow-insecure-ntlm-v1 auf True.

Firefox fordert nicht zur Eingabe eines Kennworts für http-authentifizierte Websites auf.

Deweydb
quelle
-2

Nun, ich verliere die PHPSESSIONID des Kunden. Wenn Sie es verfallen lassen, wird es aus dem Client-Browser entfernt. Der zweite Schritt (den ich nicht herausgefunden habe) wäre das Löschen des Sitzungscookies auf der Serverseite, das den Auth-Status auf dem Server vor dem Timeout entfernt und den Server daran hindert, eine neue Phpsessionid zu generieren, wenn dies angezeigt wird Client ohne den Cookie.

    <script type="text/javascript">
        document.cookie = "PHPSESSID=;Path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;";     
    </script>
drtechno
quelle
Eine HTTP-Basisauthentifizierung impliziert weder eine Sitzung auf dem Server noch ein Cookie. Selbst wenn dies der Fall wäre, würde Ihre Lösung in den meisten Fällen nicht funktionieren, da heutzutage fast alle Sitzungscookies als solche gekennzeichnet sind, securedie den Zugriff auf JavaScript verbieten.
NuTTyX
Wenn ich mir die Cookies ansehe, wird ein Cookie aus dem Firefox-Browser entfernt, aber es steckt noch mehr dahinter. Wenn ich den Browser-Cache lösche und aktive Anmeldungen lösche, erhalte ich beim Zurückkehren zum Verzeichnis auf der Website das Dialogfeld http auth. Ich frage mich, ob es einen globalen Befehl gibt, der seine aktive Anmeldung aus dem Browser löscht. Wenn nicht, sollte es sein.
drtechno
Mein schlechtes, ich meinte "http-only" -Flag, das Javascript verbietet, programmgesteuert auf die Daten im Cookie zuzugreifen. Was die ursprüngliche Frage selbst anbelangt, bin ich auf einen Weg gestoßen, der einige Browser vergessen lässt, aber in einigen Fällen (wie im Internet Explorer) wurde er aus Sicherheitsgründen unbrauchbar gemacht: Wenn Sie die URL eingeben, der ein nicht vorhandener Benutzer und ein nicht vorhandenes Kennwort vorangestellt sind, Sie würden Ihre vorherige Anmeldung "überschreiben": Abmelden: [email protected]
NuTTyX
-4

Am einfachsten ist es, sich von der Site abzumelden, anstatt nur den Tab zu schließen. Wenn dies keine Option ist und Sie wissen, dass Sie eine Website besuchen, die Sie vergessen möchten, können Sie Sandboxie installieren und Ihren Firefox (oder einen beliebigen Browser) in einer Sandbox ausführen. Löschen Sie den Inhalt der Sandbox, wenn Sie fertig sind, und alles, was Sie getan haben, ist weg.

Beaner
quelle
12
Die HTTP-Authentifizierung ist ein spezieller Typ von HTTP-Header, bei dem Ihr Webbrowser Sie zur Eingabe eines Benutzernamens und eines Kennworts auffordert und dieses dann bei Bedarf automatisch erneut sendet. Wenn eine Website diese Art der Authentifizierung verwendet, kann die Website keine Abmeldeoption anbieten . In den meisten Browsern müssen Sie den Browser schließen, um Ihre Anmeldeinformationen zu vergessen.
Bavi_H
@Bavi_H: Ich habe gehört, dass einige Browser vorhandene Sitzungen vergessen, wenn die Site ein HTTP 401 sendet, während sie angemeldet ist.
grawity
1
Nur das Löschen von Website-Cookies macht den gespeicherten Benutzernamen und das gespeicherte Passwort für die Basisauthentifizierung nicht ungültig.
Petr Gladkikh