Firefox는 HTTP 기본 인증을 빨리 잊어 버립니다.


87

클라이언트 측에서 웹 사이트에 대한 HTTP 기본 인증 자격 증명이 저장된 Firefox를 "무효화"하게하려면 어떻게해야합니까?

현재 브라우저를 다시 시작해야합니다. 여러 탭이 열려 있으면 다소 번거 롭습니다.

Firefox를 다시 시작하거나 캐시를 지우지 않고도이 작업을 수행 할 수 있습니까?

답변:


75

기록 메뉴 에서 최근 기록 지우기 를 선택할 수 있습니다 ( + + , Mac : + + ). 그런 다음 세부 사항에서 활성 로그인 을 지우고 해당 세션을 지우도록 선택할 수 있습니다 .CtrlShiftDelCmd ⌘ShiftDel

이전 버전의 Firefox (예 : FF3)에서는 도구 메뉴 아래에 최근 기록 지우기 가 있습니다. 바로 가기가 동일합니다.


7
현재 Firefox에서이 메뉴 옵션은가 History아닌 메뉴에 Tools있습니다. Firefox 29.0.1에서이를 확인했습니다.
메이

firefox 고맙습니다에서 작동
themhz

63

원래 세션에서 사용자 이름과 비밀번호를 인증되지 않은 사용자 이름으로 변경하면 Firefox는 이전 인증에 대한 모든 참조를 삭제하고 새 인증을 시도합니다.

URL의 시작 부분에 user : pass @를 추가하여 인증을 변경 / 설정할 수 있습니다 (예 : http : // user : pass@www.example.com/).

user : pass를 사용하여 www.example.com에 로그인 한 후 (주소의 시작 부분에 추가) any @를 입력하면이 문제가 발생합니다. 예 : http : //abc@www.example.com/

플러그인이 필요없는 빠른 수정.

이것은 HTTP 기본 인증에서만 작동합니다.

추가 부작용은 상호 작용하는 웹 사이트에만 영향을 미칩니다. 다른 웹 사이트에 대한 다른 모든 로그인은 활성 상태로 유지됩니다.


7
이것은 멋진 답변입니다. 간단하고 사용하기 쉽고 추가 소프트웨어가 필요하지 않으며 명백하지 않은 방식으로 영리합니다.
wfaulk

3
참고로 이것은 Chrome 및 Internet Explorer (IE)를 포함한 대부분의 다른 브라우저에서도 작동합니다.
Drew Anderson

@DrewAnderson 마지막으로 확인했을 때 URL 표시 줄에 firefox 만 user : pass @ 표기법을 지원했습니다.
masterxilo

10

웹 개발자 도구 모음은 HTTP 인증은 브라우저 세션 내에서 재설정 할 수 있습니다.

Firefox의 상황에 맞는 메뉴에서 웹 개발자-> 기타-> 개인 데이터 지우기-> HTTP 인증을 선택하십시오.


1
현재 Firefox에서 찾을 수 없음
Scolytus

2
불행히도,이 답변을 게시 한 후 그 기능은 어느 시점에서 사라진 것 같습니다.
boot13

1
그냥 테스트하고 작동합니다! 참고 : 이는 Firefox 번들로 제공되는 개발 도구의 일부가 아니므로 연결된 애드온을 설치해야합니다.
Diego V

2

웹 사이트에서 로그 아웃 옵션을 제공 할 방법이 없습니다

이것은 잘못이다. 웹 사이트에서 로그 아웃 옵션을 제공하는 몇 가지 간단한 방법이 있습니다.

1) 로그 아웃 링크는 의도적으로 잘못된 자격 증명을 포함하는 동일한 도메인의 URL을 가리 킵니다.

2) 로그 아웃 링크는 다음 코드 스 니펫으로 Javascript를 트리거합니다 (Microsoft Internet Explorer 만 해당).

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

3
브라우징에서 일관되게 동작하고 원치 않는 로그인 상자가 나타나지 않는 자격 증명을 안정적으로 무효화하는 방법이없는 것 같습니다.
Michael

잘못된 자격 증명을 사용하여 로그 아웃 링크는 이미 덮여 다른 답변
드미트리 Grigoryev에게

2

개인 창에서 요청하십시오.

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


0

이것이 다른 사람에게 도움이되는지 확실하지 않지만, 제 경우에는 기본 HTTP 인증으로 사이트에 액세스 할 수 없을 때 파이어 폭스가 저장하는 암호가 잘못되었다고 생각했습니다. 그러나 사이트는 실제로 버전 30 이후 파이어 폭스가 기본적으로 비활성화 된 NTLMv1 (기본 http 인증의 Windows 버전)을 사용하고 있음이 밝혀졌습니다.

about : config로 이동하여 pref network.negotiate-auth.allow-insecure-ntlm-v1을 True로 설정하십시오.

Firefox는 http 인증 사이트의 비밀번호를 묻지 않습니다. 어떻게 프롬프트합니까?


-2

글쎄, 나는 클라이언트의 PHPSESSIONID를 만료시킨다. 만료되면 클라이언트 브라우저에서 제거됩니다. 두 번째 단계 (내가 알지 못했던)는 서버 측에서 세션 쿠키를 삭제하여 시간이 초과되기 전에 서버에서 인증 상태를 제거하고 서버가 새로운 phpsessionid를 생성하지 못하게합니다. 쿠키가없는 클라이언트.

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

HTTP 기본 인증은 서버의 세션을 의미하지 않으며 쿠키도 아닙니다. 또한 오늘날에도 거의 모든 세션 쿠키에 secure자바 스크립트가 액세스 할 수 없도록 표시되어 있기 때문에 솔루션이 작동하더라도 거의 모든 경우에 솔루션이 작동하지 않습니다 .
NuTTyX

쿠키를 볼 때 파이어 폭스 브라우저에서 쿠키를 가져 오지만 더 많은 쿠키가 있습니다. bowser 캐시를 지우고 활성 로그인을 삭제하면 웹 사이트의 디렉토리로 돌아 가면 http 인증 대화 상자가 나타납니다. 브라우저에서 활성 로그인을 플러시하는 전역 명령이 있는지 궁금합니다. 그렇지 않다면 있어야합니다.
drtechno

내 나쁜, 나는 자바 스크립트가 프로그래밍 방식으로 쿠키 내부의 데이터에 액세스하는 것을 금지하는 "http-only"플래그를 의미했습니다. 원래 질문 자체에 관해서는 일부 브라우저를 잊어 버릴 수있는 방법을 우연히 발견했지만 일부 경우 (IE와 같이) 보안상의 이유로 사용할 수 없게되었습니다. 그들은 이전 로그인을 "덮어 쓰기"합니다 : logoff : nopasswd@www.site.com
NuTTyX

-4

가장 쉬운 방법은 탭을 닫는 대신 사이트에서 로그 아웃 하는 것입니다. 이것이 옵션이 아니고 사전에 잊어 버린 사이트를 방문하게 될 경우 Sandboxie 를 설치 하고 Firefox (또는 모든 브라우저)를 샌드 박스에서 실행할 수 있습니다. 완료되면 샌드 박스의 내용을 삭제하면 모든 작업이 완료됩니다.


12
HTTP 인증 은 특수한 유형의 HTTP 헤더로, 웹 브라우저가 사용자 이름과 암호를 묻는 메시지를 표시 한 다음 필요할 때 자동으로 다시 보냅니다. 웹 사이트에서이 유형의 인증을 사용하는 경우 웹 사이트 에서 로그 아웃 옵션을 제공 할 방법없습니다 . 대부분의 브라우저에서 로그인 정보를 잊어 버리려면 브라우저를 닫아야합니다.
Bavi_H

@Bavi_H : 로그인 한 상태에서 사이트가 HTTP 401을 보내면 일부 브라우저가 기존 세션을 잊어 버린다고 들었습니다.
grawity

1
사이트 쿠키를 지우는 것만으로는 기본 인증을 위해 저장된 사용자 이름과 비밀번호가 무효화되지 않습니다.
Petr Gladkikh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.