O Firefox esquece rapidamente o HTTP Basic Auth

87

Como faço para o Firefox "invalidar" as credenciais HTTP Basic Auth salvas em um site do lado do cliente?

Atualmente, tenho que reiniciar o navegador, o que é bastante complicado, com várias guias abertas.

Existe uma maneira de fazer isso sem ter que reiniciar o Firefox / limpar o cache / etc.

MiffTheFox
fonte

Respostas:

75

Você pode escolher Limpar histórico recente no menu Histórico ( Ctrl+ Shift+ Del, Macs: Cmd ⌘+ Shift+ Del). Você pode optar por limpar apenas os Logins ativos dos detalhes para limpar essas sessões.

Nas versões mais antigas do Firefox (como o FF3), o recurso Limpar histórico recente está no menu Ferramentas . O atalho é o mesmo.

pesado
fonte
7
No Firefox atual, esta opção de menu está no Historymenu, não Tools. Eu verifiquei isso com o Firefox 29.0.1.
Mei
trabalha no firefox thanx
themhz 06/10
63

Se você alterar o nome de usuário e a senha da sessão original para uma que não será autenticada, o Firefox destruirá todas as referências à autenticação antiga e tentará a nova.

Você pode alterar / definir a autenticação adicionando user: pass @ ao início da URL, exemplo: http: // user: [email protected]/

Se você estiver logado no site www.example.com com user: pass, depois digitando (adicionando ao início do endereço) qualquer coisa @ fará com que isso aconteça, por exemplo: http: //[email protected]/

Uma solução rápida que não requer plugins.

Observe que isso funciona apenas para autenticação básica HTTP.

Um benefício adicional adicional é que isso afetará apenas o site com o qual você está interagindo. Todos os outros logins em qualquer outro site permanecerão ativos.

Drew Anderson
fonte
7
Esta é uma resposta incrível. Simples, fácil de usar, sem necessidade de software adicional e inteligente de uma maneira não óbvia.
precisa saber é
3
Em uma nota lateral, isso deve funcionar com a maioria dos outros navegadores também, incluindo Chrome e Internet Explorer (IE)
Drew Anderson
@DrewAnderson da última vez que verifiquei, apenas o firefox suportava o usuário: pass @ notation na barra de URL.
masterxilo 17/06
10

A barra de ferramentas do desenvolvedor da Web permite que a autenticação HTTP seja redefinida em uma sessão do navegador.

No menu de contexto do Firefox, escolha Desenvolvedor da Web -> Diversos -> Limpar dados privados -> Autenticação HTTP.

boot13
fonte
1
Não é possível encontrar isso no Firefox atual
Scolytus
2
Infelizmente, esse recurso parece ter desaparecido em algum momento desde que publiquei esta resposta.
boot13
1
Apenas testei, funciona! Observe: isso não faz parte das ferramentas de desenvolvimento do Firefox, você precisa instalar o complemento vinculado.
Diego V
2

não há como o site oferecer uma opção de logout

Isto está errado. Existem várias maneiras simples de o site oferecer opções de logout.

1) O link de logoff apontará para um URL no mesmo domínio que contém credenciais intencionalmente incorretas

2) O link Logout acionará o javascript com o seguinte snippet de código (somente Microsoft Internet Explorer):

<script>document.execCommand('ClearAuthenticationCache', 'false');</script>
Jan Cinert
fonte
3
não parece haver uma maneira de invalidar de maneira confiável credenciais que se comportem de maneira consistente nas navegações e não apareçam uma caixa de login indesejada.
Michael
Link Sair usando as credenciais incorretas já está coberto em outra resposta
Dmitry Grigoryev
2

Faça o pedido a partir de uma janela privada.

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

tobias.h
fonte
0

Não tenho certeza se isso vai ajudar alguém, mas no meu caso, pensei que era uma senha ruim que o firefox estava armazenando quando não consegui acessar um site com autenticação HTTP básica. Mas acontece que o site estava realmente usando o NTLMv1 (versão para Windows da autenticação http básica) que o Firefox agora desativou por padrão desde a versão 30.

Para ativar, vá para about: config e configure o pref network.negotiate-auth.allow-insecure-ntlm-v1 como True.

O Firefox não solicita senha para sites autenticados http, como solicitá-lo?

deweydb
fonte
-2

Bem, eu expiro o PHPSESSIONID do cliente. Quando você expirar, ele será removido do navegador do cliente. A segunda etapa (que eu ainda não descobri) seria excluir o cookie de sessão no lado do servidor que removeria o estado de autenticação no servidor antes do tempo limite e impedirá que o servidor gere um novo phpsessionid ao ver isso cliente sem o cookie.

    <script type="text/javascript">
        document.cookie = "PHPSESSID=;Path=/;expires=Thu, 01 Jan 1970 00:00:01 GMT;";     
    </script>
drtechno
fonte
Uma autenticação básica HTTP não implica uma sessão no servidor, nem um cookie. Além disso, mesmo que funcionasse, sua solução não funcionaria em quase nenhum caso, já que hoje em dia quase todos os cookies de sessão estão marcados como secureproibindo o javascript de acessá-los.
NuTTyX
bem, ele tira um cookie do navegador Firefox quando olho para os cookies, mas há mais. quando limpo o cache do bowser e excluo logins ativos, quando volto ao diretório no site, recebo a caixa de diálogo http auth. Gostaria de saber se existe um comando global que liberará seu login ativo no navegador. Caso contrário, deve haver.
drtechno
Meu mau, eu quis dizer "http-only" sinalizador que proíbe o javascript para acessar os dados dentro do cookie programaticamente. Quanto à pergunta original, me deparei com uma maneira que faria alguns navegadores esquecerem, mas em alguns casos (como no IE) eles a tornaram inutilizável por motivos de segurança: se você digitar o URL prefixado por um usuário e senha inexistentes, eles "sobrescreveriam" seu login anterior: logoff: [email protected]
NuTTyX
-4

A maneira mais fácil é sair do site, em vez de apenas fechar a guia. Se isso não for uma opção e você souber de antemão que estará visitando um site que deseja esquecer, pode instalar o Sandboxie e executar o Firefox (ou qualquer navegador) em uma sandbox. Exclua o conteúdo da caixa de areia quando terminar e tudo o que você fez desapareceu.

mexicano
fonte
12
A autenticação HTTP é um tipo especial de cabeçalho HTTP que faz com que o seu navegador solicite um nome de usuário e senha e reenvie-o automaticamente quando necessário. Quando um site usa esse tipo de autenticação, não há como oferecer uma opção de logout . Na maioria dos navegadores, você deve fechar o navegador para que ele esqueça suas informações de login.
Bavi_H 28/08
@Bavi_H: Ouvi dizer que alguns navegadores irá esquecer sessões existentes se o site envia um HTTP 401 enquanto estiver conectado.
grawity
1
Apenas limpar os cookies do site não invalida o nome de usuário e a senha salvos para autenticação básica.
precisa saber é o seguinte