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.