Firefox oublie rapidement HTTP Basic Auth


87

Comment faire en sorte que Firefox "invalide" les informations d'authentification HTTP Basic Auth enregistrées pour un site Web du côté client?

Actuellement, je dois redémarrer le navigateur, ce qui est plutôt encombrant lorsque plusieurs onglets sont ouverts.

Est-il possible de le faire sans avoir à redémarrer Firefox / effacer le cache / etc.

Réponses:


75

Vous pouvez choisir Effacer l'historique récent dans le menu Historique ( Ctrl+ Shift+ Del, Macs: Cmd ⌘+ Shift+ Del). Vous pouvez ensuite choisir d'effacer simplement les connexions actives des détails pour effacer ces sessions.

Dans les anciennes versions de Firefox (telles que FF3), l’option Effacer l'historique récent se trouve dans le menu Outils . Le raccourci est le même.


7
Dans le Firefox actuel, cette option de menu est dans le Historymenu, pas Tools. J'ai vérifié cela avec Firefox 29.0.1.
Mei

fonctionne sur firefox
thanx

63

Si vous remplacez le nom d'utilisateur et le mot de passe de la session d'origine par un autre qui ne s'authentifiera pas, Firefox détruira toutes les références à l'ancienne authentification et tentera la nouvelle.

Vous pouvez modifier / définir l'authentification en ajoutant user: pass @ au début de l'URL, par exemple: http: // user: pass@www.example.com/

Si vous êtes connecté à www.example.com avec l'utilisateur: passez puis tapez (ajouter au début de l'adresse) quoi que ce soit @ provoquera cela, par exemple: http: //abc@www.example.com/

Une solution rapide qui ne nécessite aucun plugin.

Veuillez noter que cela ne fonctionne que pour HTTP Basic Auth.

Un avantage supplémentaire est que cela n'affectera que le site Web avec lequel vous interagissez. Toutes les autres connexions à un autre site Web resteront actives.


7
C'est une réponse géniale. Simple, facile à utiliser, aucun logiciel supplémentaire requis, et astucieux de manière non évidente.
wfaulk

3
Sur une note de côté, cela devrait fonctionner avec la plupart des autres navigateurs, y compris Chrome et Internet Explorer (IE)
Drew Anderson

@DrewAnderson la dernière fois que j'ai vérifié, seul Firefox a pris en charge l'utilisateur: pass @ notation dans la barre d'adresse.
masterxilo

10

La barre d'outils Web Developer permet de réinitialiser l'authentification HTTP dans une session de navigateur.

Dans le menu contextuel de Firefox, choisissez Web Developer -> Divers -> Clear Private Data -> Authentification HTTP.


1
Impossible de trouver cela sur Firefox actuel
Scolytus

2
Malheureusement, cette fonctionnalité semble avoir disparu à un moment donné depuis que j'ai posté cette réponse.
boot13

1
Juste testé, ça marche! Remarque: ceci ne fait pas partie des outils de développement fournis par Firefox, vous devez installer l'add-on lié.
Diego V

2

le site Web n'a aucun moyen d'offrir une option de déconnexion

C'est faux. Il existe plusieurs manières simples pour le site Web d’offrir des options de déconnexion.

1) Le lien de déconnexion pointera vers une URL du même domaine contenant des informations d'identification intentionnellement incorrectes.

2) Le lien de déconnexion déclenchera JavaScript avec l'extrait de code suivant (Microsoft Internet Explorer uniquement):

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

3
il ne semble pas y avoir de moyen d'invalider de manière fiable les informations d'identification qui se comportent de manière cohérente d'un navigateur à l'autre et qui n'apparaissent pas dans une zone de connexion non souhaitée.
Michael

Un lien de déconnexion utilisant des identifiants incorrects est déjà couvert dans une autre réponse
Dmitry Grigoryev

2

Faites la demande depuis une fenêtre privée.

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


0

Je ne suis pas sûr que cela puisse aider quelqu'un d'autre, mais dans mon cas, j’ai pensé que c’était un mauvais mot de passe que Firefox stockait lorsque je ne pouvais pas accéder à un site avec une authentification HTTP de base. Mais il s'avère que le site utilisait en fait NTLMv1 (version Windows de l'authentification http de base), que Firefox a maintenant désactivé par défaut depuis la version 30.

Pour activer, accédez à about: config, puis définissez le paramètre network.negotiate-auth.allow-insecure-ntlm-v1 sur True.

Firefox ne demande pas de mot de passe pour les sites authentifiés http, comment le faire?


-2

Eh bien, je fais expirer le PHPSESSIONID du client. Lorsque vous l'expirez, il sera supprimé du navigateur client. La deuxième étape (que je n’ai pas comprise) consisterait à supprimer le cookie de session côté serveur, qui supprimerait l’autorisation du serveur avant son expiration et empêcherait le serveur de générer un nouveau phpsessionid lorsqu’il le verrait client sans le cookie.

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

Une authentification de base HTTP n'implique pas une session sur le serveur, ni un cookie. En outre, même si cela se produisait, votre solution ne fonctionnerait pas dans presque tous les cas car, à l'heure actuelle, presque tous les cookies de session sont marqués comme secureinterdisant l'accès javascript à javascript.
NuTTyX

Eh bien, lorsque je regarde les cookies, le navigateur Firefox supprime un cookie, mais il y a plus que cela. Lorsque j'efface le cache Bowser et supprime les connexions actives, lorsque je retourne au répertoire du site Web, la boîte de dialogue Auth http s'affiche. Je me demande s’il existe une commande globale qui va vider son login actif du navigateur. Si non, il devrait y avoir.
drtechno

Mon mauvais, je voulais dire "http-seulement" drapeau qui interdit le javascript pour accéder aux données à l'intérieur du cookie par programme. Quant à la question initiale elle-même, je suis tombé sur un moyen qui ferait oublier certains navigateurs, mais dans certains cas (comme dans IE), ils l'ont rendue inutilisable pour des raisons de sécurité: si vous tapez l'URL préfixée par un utilisateur inexistant et un mot de passe, ils "écraseraient" votre login précédent : logoff: nopasswd@www.site.com
NuTTyX

-4

Le moyen le plus simple consiste à vous déconnecter du site au lieu de simplement fermer l'onglet. Si ce n'est pas une option et que vous savez d'avance que vous allez visiter un site que vous souhaitez oublier, vous pouvez installer Sandboxie et exécuter votre Firefox (ou n'importe quel navigateur) dans un bac à sable. Supprimez le contenu du bac à sable lorsque vous avez terminé et que tout ce que vous avez fait est parti.


12
L'authentification HTTP est un type particulier d'en-tête HTTP qui oblige votre navigateur Web à vous demander un nom d'utilisateur et un mot de passe, puis à le renvoyer automatiquement en cas de besoin. Lorsqu'un site Web utilise ce type d'authentification, il n'a aucun moyen d'offrir une option de déconnexion . Dans la plupart des navigateurs, vous devez fermer le navigateur pour qu'il oublie vos informations de connexion.
Bavi_H

@Bavi_H: J'ai entendu dire que certains navigateurs oublieraient les sessions existantes si le site envoyait un HTTP 401 alors qu'il était connecté.
grawity

1
Le simple effacement des cookies du site n'invalide pas le nom d'utilisateur et le mot de passe enregistrés pour l'authentification de base.
Petr Gladkikh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.