Firefox dimentica rapidamente HTTP Basic Auth


87

Come posso rendere "invalidato" Firefox le credenziali di autenticazione HTTP di base salvate per un sito Web dal lato client?

Attualmente, devo riavviare il browser, che è piuttosto ingombrante con più schede aperte.

C'è un modo per farlo senza dover riavviare Firefox / cancellare la cache / ecc.

Risposte:


75

Puoi scegliere Cancella cronologia recente dal menu Cronologia ( Ctrl+ Shift+ Del, Mac: Cmd ⌘+ Shift+ Del). È quindi possibile selezionare solo per cancellare i login attivi dai dettagli per cancellare solo quelle sessioni.

Nelle versioni precedenti di Firefox (come FF3), Cancella cronologia recente si trova nel menu Strumenti . Il collegamento è lo stesso.


7
Nell'attuale Firefox, questa opzione di menu si trova nel Historymenu, non Tools. Ho verificato questo con Firefox 29.0.1.
Mei,

funziona su Firefox Firefox
themhz,

63

Se cambi il nome utente e la password dalla sessione originale a una che non eseguirà l'autenticazione, Firefox eliminerà tutti i riferimenti alla vecchia autenticazione e tenterà la nuova.

È possibile modificare / impostare l'autenticazione aggiungendo l'utente: pass @ all'inizio dell'URL, ad esempio: http: // utente: pass@www.esempio.com/

Se hai effettuato l'accesso a www.example.com con l'utente: passa quindi digitando (aggiungendo all'inizio dell'indirizzo) qualcosa @ farà sì che ciò accada, ad esempio: http: //abc@www.example.com/

Una soluzione rapida che non richiede alcun plug-in.

Nota che funziona solo con HTTP Basic Auth.

Un ulteriore vantaggio collaterale è che questo influenzerà solo il sito Web con cui interagisci. Tutti gli altri accessi a qualsiasi altro sito Web rimarranno attivi.


7
Questa è una risposta fantastica. Semplice, facile da usare, nessun software aggiuntivo richiesto e intelligente in un modo non ovviamente ovvio.
wfaulk,

3
Per contro, questo dovrebbe funzionare anche con la maggior parte degli altri browser, inclusi Chrome e Internet Explorer (IE)
Drew Anderson,

L'ultima volta che ho controllato @DrewAnderson, solo Firefox ha supportato l'utente: pass @ notation nella barra degli indirizzi.
Masterxilo,

10

La barra degli strumenti Web Developer consente di ripristinare l'autenticazione HTTP all'interno di una sessione del browser.

Dal menu di scelta rapida di Firefox, seleziona Sviluppatore Web -> Varie -> Cancella dati privati ​​-> Autenticazione HTTP.


1
Non riesco a trovarlo sull'attuale Firefox
Scolytus del

2
Sfortunatamente, questa funzione sembra essere scomparsa ad un certo punto da quando ho pubblicato questa risposta.
boot13,

1
Ho appena provato, funziona! Nota: non fa parte degli strumenti di sviluppo in bundle di Firefox, devi installare il componente aggiuntivo collegato.
Diego V,

2

non è possibile per il sito Web offrire un'opzione di disconnessione

Questo è sbagliato. Esistono diversi e semplici modi in cui il sito Web offre opzioni di disconnessione.

1) Il collegamento di disconnessione punterà a un URL sullo stesso dominio contenente credenziali intenzionalmente errate

2) Il collegamento di logout attiverà JavaScript con il seguente frammento di codice (solo Microsoft Internet Explorer):

<script>document.execCommand('ClearAuthenticationCache', 'false');</script>

3
non sembra esserci un modo per invalidare in modo affidabile le credenziali che si comportano in modo coerente su tutti i browser e non fanno apparire una casella di accesso indesiderata.
Michael,

Il collegamento di logout che utilizza credenziali errate è già trattato in un'altra risposta
Dmitry Grigoryev,

2

Invia la richiesta da una finestra privata.

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


0

Non sono sicuro che questo possa aiutare qualcun altro, ma nel mio caso ho pensato che fosse una cattiva password che Firefox stava archiviando quando non potevo accedere a un sito con autenticazione HTTP di base. Ma si scopre che il sito stava effettivamente utilizzando NTLMv1 (versione di Windows dell'autenticazione http di base) che Firefox ha disabilitato per impostazione predefinita dalla versione 30.

Per abilitare andare su about: config e impostare il pref network.negotiate-auth.allow-insecure-ntlm-v1 su True.

Firefox non richiede la password per i siti autenticati http, come richiederlo?


-2

Bene, espiro PHPSESSIONID del cliente. Alla scadenza, lo rimuoverà dal browser del client. Il secondo passo (che non ho capito) sarebbe quello di eliminare il cookie di sessione sul lato server che rimuoverà lo stato di autenticazione sul server prima che scada e impedirà al server di generare un nuovo phpsessionid quando vede questo client senza il cookie.

    <script type="text/javascript">
        document.cookie = "PHPSESSID=;Path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;";     
    </script>

Un'autenticazione di base HTTP non implica una sessione nel server, né un cookie. Inoltre, anche se lo facesse, la tua soluzione non funzionerebbe in quasi tutti i casi poiché al giorno d'oggi quasi tutti i cookie di sessione sono contrassegnati come ciò secureche impedisce a javascript di accedervi.
NuTTyX

bene prende un cookie dal browser Firefox quando guardo i cookie, ma c'è di più. quando svuoto la cache di bowser ed cancello gli accessi attivi, quando torno alla directory sul sito web ottengo la finestra di dialogo http auth. Mi chiedo se esiste un comando globale che cancellerà il suo login attivo dal browser. In caso contrario, ci dovrebbe essere.
drtechno,

Mio male, intendevo bandiera "solo http" che proibisce a javascript di accedere ai dati all'interno del cookie a livello di codice. Per quanto riguarda la domanda originale stessa, mi sono imbattuto in un modo che avrebbe fatto dimenticare alcuni browser, ma in alcuni casi (come in IE) l'hanno reso inutilizzabile per motivi di sicurezza: se digiti l'URL con prefisso di un utente inesistente e una password, avrebbero "sovrascritto" il tuo precedente accesso: disconnessione: nopasswd@www.site.com
NuTTyX

-4

Il modo più semplice è disconnettersi dal sito invece di chiudere semplicemente la scheda. Se questa non è un'opzione e sai prima che visiterai un sito che vuoi dimenticare, puoi installare Sandboxie ed eseguire Firefox (o qualsiasi browser) in una sandbox. Elimina il contenuto della sandbox quando hai finito e tutto ciò che hai fatto è sparito.


12
L'autenticazione HTTP è un tipo speciale di intestazione HTTP che consente al browser Web di richiedere un nome utente e una password, quindi di inviarlo automaticamente quando necessario. Quando un sito Web utilizza questo tipo di autenticazione, non è possibile che il sito Web offra un'opzione di disconnessione . Nella maggior parte dei browser, è necessario chiudere il browser affinché dimentichi le informazioni di accesso.
Bavi_H,

@Bavi_H: Ho sentito che alcuni browser dimenticheranno le sessioni esistenti se il sito invia un HTTP 401 durante l'accesso.
Grawity

1
La semplice cancellazione dei cookie del sito non invalida il nome utente e la password salvati per l'autenticazione di base.
Petr Gladkikh,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.