2009-06-05 4 views
1

브라우저가 잘못된 로그인 자격 증명을 저장하지 못하도록 서버 측 구현을 찾고 있습니다. 예를 들어 사용자 "foo"는 암호 "bar"로 로그인합니다. 브라우저가 foo에게 암호를 저장할지 묻습니다. 그러나 foo의 암호는 실제로 "baz"이므로 잘못된 암호를 저장하게됩니다.인증 실패시 브라우저의 "암호 저장"기능 사용 안 함

나는 HTTP/1.1 401을 보내는 것과 같이 HTTP 코드를 조작하려고했지만 성공하지 못했습니다.

"자동 완성"을 양식에 추가하면 해결되지 않으므로 저장하지 않아도됩니다 (유효 함).

서버 백엔드는 PHP입니다.

+0

그래서 파이어 폭스가 팝업 대신 정보창이있는 비밀번호를 저장하도록 요구하는 이유가 여기에 있습니다. 암호 저장 여부를 결정하기 전에 암호가 작동하는지 확인할 수 있습니다. –

+0

이것은 HTML 스펙의 일부 여야합니다! 서버는 암호가 잘못되었다는 것을 안다. 왜 평범한 사용자가 그것을 저축하기를 원하는가? 좋은 질문. – Adam

답변

1

인증에 실패하면 해당 상자를 닫을 수 없습니다. 그러나 초기 시도 후에 "암호 실패"페이지에서 필드의 채우기를 막을 수 있습니다. 페이지가로드되면 마지막 로그인 시도가 유효하지 않으면 DOM을 조작하여 암호 필드에서 텍스트 값을 제거하십시오. 이후에도 사이트를 새로 방문 할 때 비밀번호가 표시되지만 올바른 비밀번호가 저장되었을 것입니다.

4

저는 그렇게 생각하지 않습니다. 브라우저 동작입니다.

가장 가까운 곳에서 요청을 가로 챌 수있는 Firefox 플러그인을 작성하십시오. 그러나 나는 그것에 대해서도 확신이 없으며 Firefox에만 적용됩니다. Chrome, IE, Safari 및 관심있는 다른 브라우저를 살펴 봐야합니다.

+1

폼이 아닌 HTTP 인증을 사용하는 것이 가능할 것이라고 생각했습니다. 자동으로 수행됩니다. IE에 대해서는별로 관심이 없습니다. – mctom987

4

귀하의 직업이 아니며 통제 할 수없는 문제를 해결하려고하는 것 같습니다. Joel Mueller의 말처럼 Firefox는 모달 저장 암호 대화 상자를 상태 표시 줄로 변경하여이 문제를 해결했습니다.이 상태 표시 줄을 사용하면 암호를 저장하기 전에 암호가 올바른지 확인할 수 있습니다. 다른 브라우저에서이 문제가 발생하는 경우 해당 브라우저의 개발자에게 기능 요청으로 제출하여 해결해야 할 유일한 장소 인 문제가 해결 될 수 있도록해야합니다.