2011-01-24 2 views
0

사용자 이름과 암호가있는 일반적인 로그인 양식이 있습니다. 사용자가이 정보를 입력하면 웹 브라우저는 사용자 이름과 암호를 저장합니다 (브라우저가이를 허용하도록 구성되었다고 가정). 사용자 이름이 "User01"이고 암호가 "Password01"이라고 가정합니다.자동 완성을 위해 로그인 양식을 정의하는 것은 무엇입니까?

사용자가 암호를 "Password02"로 변경하거나 다시 설정했다고 가정합니다. 웹 브라우저는 비밀번호 재설정 양식을 로그인 양식으로 인식하지 않으므로 사용자 웹 브라우저에서 비밀번호를 업데이트/변경/저장하지 않습니다.

그래서 사용자가 내 웹 사이트를 떠나 나중에 다시 방문하면 내 로그인 페이지로 이동합니다. 사용자 이름 "User01"을 입력하면 잘못된 비밀번호 "Password01"이 자동 완성되지만 사용자는 * ***을 볼 수 있기 때문에이 사실을 알 수 없습니다. 결국 사용자는 자신의 계정을 잠그고 고객 서비스를 호출하여 우리에게 소리를 지르도록합니다.

<form action="updatePassword.php" name="frmPasswordChange" method="POST"> 

<label>Old Password</label> 
<span class="textbox"><input type="password" maxlength="14" size="14" name="oldPassword"></span> 
<br /> 

<input type="hidden" name="username" value="User01"> 

<label>New Password</label> 
<span class="textbox"><input type="password" maxlength="14" size="14" name="newPassword"></span> 
<br /> 

<label>Re-enter New Password</label> 
<span class="textbox"><input type="password" maxlength="14" size="14" name="newPasswordReEntered"></span> 
<br /> 

<span class="buttonHolder"> 
<button type="submit" class="styledButton updateButton">Save Password</button> 
</span> 

</form> 

답변

1

브라우저가 입력을 처리하는 방식은 주로 로그인 양식의 의미 적 읽기에서 비롯된 것이라고 생각합니다. 즉, 텍스트 필드의 이름이 "username"이고 암호 필드의 이름이 "password"인 경우 이월하는 경향이 있습니다.

문제는 사용자가 로그인 할 수있는 두 개의 다른 페이지가있는 것처럼 들리는 것입니다. 웹 브라우저가 로그인 정보를 페이지 단위로 연관시키는 것으로 알려진 이슈/기능입니다. 예를 들어 내가 정기적으로 로그인하는 사이트 중 하나는 홈페이지와 비밀번호 잊어 버린 페이지 사이에 다른 로그인 자격 증명을 저장합니다 ("비밀번호 잊어 버리기"페이지, 다소 역설적으로 정확한 자격증 명).

ID 속성과 같은 형식으로 양식을 연결할 수있는 표준이 개발 될 때까지는 빠른 IP 읽기와 별도로 을주는 것 외에는 할 수있는 일이 많지 않다고 가정합니다. 사용자 이름. 하지만 그것은 일 것이다. 놀랄만큼 나쁜 연습.

+0

충분히 공정하게, 감사합니다. 내 유일한 옵션은 자동 완성 비활성화/mangling입니다. 사이트가 나를 따라 잡을 때 싫어하기 때문에 나는 그것을 싫어하지만, 오히려 사용자에게 빈 패스워드 박스를 주겠다. 패스워드 박스는 시간의 50 %에 정확하게 채워지고 다른 50 %는 잘못 입력된다. – brian

관련 문제