2011-08-05 3 views
10

웹 사이트의 로그인 시스템을 작성하고 있지만 사용자가 로그인 자격 증명을 브라우저에 잘못 입력하면 (Firefox와 Chrome을 모두 시도했습니다.)는 여전히 사용자가 암호를 저장할지 묻습니다. 브라우저에 로그인 실패가 있음을 알리는 방법으로 사용자에게 잘못된 자격 증명을 저장하도록 요청하지 않도록 알 수 있습니까?로그인이 실패하여 암호를 기억하지 않도록 웹 브라우저에 알리기

(정상 200 대신) 403 및 500 HTTP 상태 코드를 보내려고했으나 작동하지 않았습니다. 내가 원하는 것을 할 수있는 방법이 있습니까?

P. 일부 브라우저 대화 상자가 아닌 HTML 양식을 사용하여 로그인 할 때 HTTP 401 인증 메커니즘을 사용하고 싶지 않습니다.

+0

흠, 나는 그 대화를 표시하기 위해 Chrome이 실제로 2XX 응답을 기대하고 있다고 생각했습니다. –

+0

우리는 "브라우저 제작자"에게 대신 말해야한다고 생각합니다! :) – Mohsen

답변

9

이것이 작동하는 방식을 결정하기 위해 Chrome's Source Code을보고 (OnPasswordFormsRendered 참조),이를 확인하기 위해 몇 가지 발견 적 방법을 사용하고 있습니다. 이 나타나는 방법이이 일을해야합니다 :

  1. 사용자는
  2. 가 계속 표시 같은 형태가 로딩을 완료 페이지의 형태
  3. 대기를 제출? 그렇다면 유효하지 않은 사용자 이름 또는 비밀번호로 인해 양식이 제시되고 있다고 가정합니다.

사용자 로그온이 실패한 경우. 다시 같은 양식으로 제출해야합니다. "로그온 실패"화면이 브라우저의 원래 로그온 화면과 너무 다르기 때문에 동일한 양식임을 알 수 없습니다.

HTTP 상태 코드가 암호 저장에 차이가있는 것으로 나타나지 않습니다.

최신 버전의 Chrome take in to account은 HTTP 상태 코드입니다. 상태 코드가 400과 600 사이에 있으면 암호를 저장하지 않습니다.

다른 세부 정보는 동일한 소스 파일에 주석으로 문서화되어 있습니다.

+2

IE10 이하에는 이와 같은 경험적 방법이 없습니다. – EricLaw

+0

@EricLaw : 나는 IE가 어떻게하는지 알고 싶어한다. 하지만 어디서나 소스를 찾을 수없는 것 같습니다 .--). – vcsjones

-1

허가받지 않은 http 401을 시도하십시오. "403 금지됨과 유사하지만 인증이 가능하지만 실패했거나 아직 제공되지 않은 경우에만 사용하십시오." (Wikipedia 인용구).

편집 : 죄송합니다. 당신의 질문을 충분히 읽지 못했습니다.

+0

10.4.2 401 Unauthorized 요청에 사용자 인증이 필요합니다. 응답 **에는 요청 된 자원에 적용 할 수있는 챌린지를 포함하는 WWW-Authenticate 헤더 필드 ** (14.47 절)가 포함되어야합니다. –

관련 문제