정부 의료 기관에서 일하는 기쁨 중 하나는 PHI (Protected Health Information)와 관련된 모든 편집증을 다루어야한다는 것입니다. 잘못 이해하지 마십시오. 저는 사람들의 개인 정보 (건강, 재정, 서핑 습관 등)를 보호하기 위해 가능한 모든 것을 다하고 있지만 때로는 사람들이 너무 겁에 질려 있습니다.
적절한 사례 : 최근 주 고객 중 한 명이 브라우저가 비밀번호를 저장하는 편리한 기능을 제공한다는 것을 알게되었습니다. 우리는 그것이 한동안 존재 해 왔으며 완전히 선택적인 것이며, 사용하기에 현명한 결정인지 아닌지를 결정하는 것은 최종 사용자의 책임입니다. 그러나 현재 약간의 소란이 있으며 사이트에서 해당 기능을 비활성화 할 수있는 방법을 찾아야합니다.
질문 : 사이트가 브라우저에 비밀번호를 기억하지 말라고 알려주는 방법이 있습니까? 나는 오랫동안 웹 개발을 해왔지만 이전에 그런 것을 보지 못했다.
도움을 주시면 감사하겠습니다.
답변
모든 브라우저에서 작동하는지 확실하지 않지만 양식에서 autocomplete = “off”를 설정해야합니다.
<form id="loginForm" action="login.cgi" method="post" autocomplete="off">
양식 및 비밀번호 저장 프롬프트 를 사용하지 않고 세션 히스토리에서 양식 데이터가 캐시되지 않도록 하는 가장 쉽고 간단한 방법 은 값이 “off”인 자동 완성 양식 요소 속성을 사용하는 것입니다.
에서 http://developer.mozilla.org/En/How_to_Turn_Off_Form_Autocompletion
일부 사소한 연구에 따르면 이것이 IE에서 작동하지만 보증하지는 않습니다.)
@Joseph : 실제 마크 업과 함께 XHTML 유효성 검사를 통과 해야하는 엄격한 요구 사항 인 경우 (왜 그런지 모르겠습니다) 나중에 이론적으로 자바 스크립트 로이 속성을 추가 할 수 있지만 js가 비활성화 된 사용자는 무시할 수 있습니다. 또는 사이트에 js가 필요한 경우 0) 여전히 비밀번호가 저장됩니다.
jQuery를 사용한 예 :
$('#loginForm').attr('autocomplete', 'off');
답변
이외에
autocomplete="off"
사용하다
readonly onfocus="this.removeAttribute('readonly');"
입력을 위해 당신은 그들이 폼 데이터 (기억하고 싶지 않은 username
, password
아래와 같이 등) :
<input type="text" name="UserName" autocomplete="off" readonly
onfocus="this.removeAttribute('readonly');" >
<input type="password" name="Password" autocomplete="off" readonly
onfocus="this.removeAttribute('readonly');" >
주요 브라우저의 최신 버전, 즉 테스트 Google Chrome
, Mozilla Firefox
, Microsoft Edge
, 등을 마법처럼 작동합니다. 도움이 되었기를 바랍니다.
답변
나는이 문제로 어려움을 겪고 있었고, 문제에 대한 독특한 왜곡으로. 권한이있는 사용자는 저장된 암호를 사용할 수 없지만 일반 사용자가 필요했습니다. 이는 권한이있는 사용자가 두 번 로그인해야했으며 두 번째로 저장된 비밀번호를 적용하지 않았 음을 의미합니다.
이 요구 사항 autocomplete="off"
을 사용하면 첫 번째 로그인에서 비밀번호가 저장되었을 수 있으므로 표준 방법이 모든 브라우저에서 작동하지는 않습니다. 동료가 비밀번호 필드가 새 비밀번호 필드에 초점을 맞췄을 때이를 대체하는 솔루션을 찾은 다음 새 비밀번호 필드에 초점을 맞춘 다음 동일한 이벤트 핸들러를 연결합니다. 이것은 IE6에서 무한 루프를 일으킨 것을 제외하고는 효과가있었습니다. 어쩌면 그 주위에 방법이 있었지만 편두통을 일으켰습니다.
마지막으로 양식 외부에 사용자 이름과 비밀번호를 넣으려고했습니다. 놀랍게도 이것이 효과가있었습니다! IE6 및 Linux의 최신 버전의 Firefox 및 Chrome에서 작동했습니다. 더 이상 테스트하지는 않았지만 모든 브라우저가 아니라면 대부분 작동한다고 생각합니다 (그러나 폼이없는 경우 신경 쓰지 않는 브라우저가 있으면 놀라지 않을 것입니다).
다음은 일부 jQuery와 함께 작동하는 샘플 코드입니다.
<input type="text" id="username" name="username"/>
<input type="password" id="password" name="password"/>
<form id="theForm" action="/your/login" method="post">
<input type="hidden" id="hiddenUsername" name="username"/>
<input type="hidden" id="hiddenPassword" name="password"/>
<input type="submit" value="Login"/>
</form>
<script type="text/javascript" language="JavaScript">
$("#theForm").submit(function() {
$("#hiddenUsername").val($("#username").val());
$("#hiddenPassword").val($("#password").val());
});
$("#username,#password").keypress(function(e) {
if (e.which == 13) {
$("#theForm").submit();
}
});
</script>
답변
글쎄, 아주 오래된 게시물이지만 여전히 팀이 오랫동안 달성하려고했던 솔루션을 제공 할 것입니다. 방금 양식 안에 새로운 input type = “password”필드를 추가하고 div로 감싸서 div를 숨겼습니다. 이 div가 실제 비밀번호 입력 전에 있는지 확인하십시오. 이것은 우리에게 효과적이며 암호 저장 옵션을주지 않았습니다.
쿵 – http://plnkr.co/edit/xmBR31NQMUgUhYHBiZSg?p=preview
HTML :
<form method="post" action="yoururl">
<div class="hidden">
<input type="password"/>
</div>
<input type="text" name="username" placeholder="username"/>
<input type="password" name="password" placeholder="password"/>
</form>
CSS :
.hidden {display:none;}
답변
각 쇼에서 비밀번호 필드에 사용 된 이름을 무작위로 지정하여 브라우저가 양식을 일치시키지 못하게 할 수 있습니다. 그런 다음 브라우저는 동일한 URL의 비밀번호를 볼 수 있지만 동일한 비밀번호 인지 확신 할 수 없습니다 . 아마도 다른 것을 제어하고있을 것입니다.
업데이트 : 이것은 다른 사람들이 지적한 이유로 자동 완성 또는 다른 전술을 대체하는 것이 아니라 자동 완성 또는 다른 전술 을 사용 하는 것에 추가 해야합니다 .
또한 이는 브라우저 가 암호 를 자동 완성 하는 것을 막을뿐입니다 . 브라우저가 사용하기로 선택한 보안 수준에 관계없이 암호 를 저장 하는 것을 막지 않습니다 .
답변
실제 2 단계 인증 을 사용 하여 사용자 브라우저 캐시보다 더 많은 위치에 저장 될 수있는 비밀번호에 대한 단독 의존을 피하십시오.
답변
가장 확실한 방법은 autocomplete="off"
tag 속성 을 사용하는 것이지만 Tab으로 필드를 전환 할 때 Firefox가 태그 속성을 올바르게 따르지 않습니다.
이것을 막을 수있는 유일한 방법은 가짜 숨겨진 암호 필드를 추가하여 브라우저가 암호를 채우도록 속이는 것입니다.
<input type="text" id="username" name="username"/>
<input type="password" id="prevent_autofill" autocomplete="off" style="display:none" tabindex="-1" />
<input type="password" id="password" autocomplete="off" name="password"/>
브라우저 동작을 변경하기 때문에 추악한 해킹입니다. 나쁜 습관으로 간주해야합니다. 정말로 필요한 경우에만 사용하십시오.
참고 : FF는 #prevent_autofill
(비어있는) 값을 “저장”하고 저장된 “암호”는 항상 type="password"
“각각의”사용자 이름 “다음에 DOM에서 찾은 첫 번째 입력을 사용 하기 때문에 암호 자동 완성을 중지합니다. 입력.
