답변:
을 사용해보십시오 autocomplete="off"
. 그러나 모든 브라우저가 지원하는지 확실하지 않습니다. 여기에 MSDN 문서가 있습니다 .
편집 : 참고 : 대부분의 브라우저는이 속성에 대한 지원을 중단했습니다. autocomplete = "off"는 모든 최신 브라우저와 호환됩니까?를 참조하십시오 .
이것은 웹 사이트 디자이너가 아닌 사용자에게 맡겨야 할 것입니다.
<input type="password" autocomplete="off" />
나는 이것을 사용자로서 추가하고 싶습니다. 이것은 매우 성 가시고 극복해야 할 번거 로움 이라고 생각합니다 . 사용자를 악화시킬 가능성이 크므로 사용하지 않는 것이 좋습니다.
암호는 이미 MRU에 저장되어 있지 않으며 올바르게 구성된 공용 컴퓨터는 사용자 이름도 저장하지 않습니다.
다른 방법으로 해결했습니다. 이것을 시도 할 수 있습니다.
<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
// Using jQuery
$(function(){
setTimeout(function(){
$("input#passfld").attr("type","password");
},10);
});
// or in pure javascript
window.onload=function(){
setTimeout(function(){
document.getElementById('passfld').type = 'password';
},10);
}
</script>
#또 다른 방법
<script type="text/javascript">
function setAutoCompleteOFF(tm){
if(typeof tm =="undefined"){tm=10;}
try{
var inputs=$(".auto-complete-off,input[autocomplete=off]");
setTimeout(function(){
inputs.each(function(){
var old_value=$(this).attr("value");
var thisobj=$(this);
setTimeout(function(){
thisobj.removeClass("auto-complete-off").addClass("auto-complete-off-processed");
thisobj.val(old_value);
},tm);
});
},tm);
}catch(e){}
}
$(function(){
setAutoCompleteOFF();
});
</script>
// autocomplete = "off"속성을 추가해야합니다. 또는 입력 상자에 .auto-complete-off 클래스를 추가하고 즐길 수 있습니다.
예:
<input id="passfld" type="password" autocomplete="off" />
OR
<input id="passfld" class="auto-complete-off" type="password" />
다음을 시도했지만 모든 브라우저에서 작동하는 것 같습니다.
<input id="passfld" type="text" autocomplete="off" />
<script type="text/javascript">
$(function(){
var passElem = $("input#passfld");
passElem.focus(function() {
passElem.prop("type", "password");
});
});
</script>
이 방법은 시간 초과 기술을 사용하는 것보다 훨씬 더 안전합니다. 사용자가 입력 필드에 초점을 맞출 때 입력 필드가 암호로 양보 할 것임을 보장하기 때문입니다.
보안 문제와 관련하여 보안 컨설턴트가 전체 현장 문제에 대해 알려줄 내용은 다음과 같습니다 (실제 독립 보안 감사에서 가져온 것입니다).
HTML 자동 완성 활성화 됨 – HTML 양식의 암호 필드에 자동 완성 기능이 활성화되어 있습니다. 대부분의 브라우저에는 HTML 양식에 입력 된 사용자 자격 증명을 기억하는 기능이 있습니다.
상대적 위험 : 낮음
영향을받는 시스템 / 장치 : o https : // * ** * *** /
또한 이것이 진정한 개인 데이터를 포함하는 모든 분야를 다루어야한다는 데 동의 합니다. 나는 그 사이트가 [보편적으로 또는 법적 준수 요건에 따라] 안전하게 유지되어야하는 모든 것에 액세스 할 때마다 항상 신용 카드 정보, CVC 코드, 비밀번호, 사용자 이름 등을 입력하도록 강제하는 것이 옳다고 생각합니다. 예 : 구매 양식, 은행 / 신용 사이트, 세금 사이트, 의료 데이터, 연방, 원자력 등 -Stack Overflow 또는 Facebook과 같은 사이트가 아닙니다 .
다른 유형의 사이트-예를 들어 출근 및 퇴근을위한 TimeStar Online-직장에서 항상 동일한 PC / 계정을 사용하기 때문에 해당 사이트에 자격 증명을 저장할 수 없다는 것은 어리석은 일입니다. 이상하게도 Android에서 할 수 있습니다. 하지만 iPad에서는 아닙니다. 공유 PC조차도 다른 사람을 위해 출퇴근을하는 것이 상사를 짜증나게하는 일이 아니기 때문에 그렇게 나쁘지 않을 것입니다. (그들은 들어가서 잘못된 펀치를 삭제해야합니다. 공용 PC에 저장하지 않기 만하면됩니다.)
<input type="password" placeholder="Enter New Password" autocomplete="new-password">
여기 있습니다.
여기에 가장 좋은 대답이 있습니다. 필드 앞에 추가 암호 필드를 넣고을 input
설정 display:none
하여 브라우저가 입력 할 때 input
신경 쓰지 않는 에서 수행 하도록합니다.
이것을 변경하십시오 :
<input type="password" name="password" size="25" class="input" id="password" value="">
이에:
<input type="password" style="display:none;">
<input type="password" name="password" size="25" class="input" id="password" value="">
display:none
나 (크롬 61 OSX)이 작동하지 않습니다, 그러나 이것은 수행합니다<input type="password" style="position: absolute; top: -1000px;">
다음과 같이 사용할 수도 있습니다.
$('#Password').attr("autocomplete", "off");
setTimeout('$("#Password").val("");', 2000);
autocomplete = off 가 더 이상 사용되지 않는 것으로 보이 므로 더 최신 솔루션을 제안합니다.
암호 필드를 일반 텍스트 필드로 설정하고 CSS를 사용하여 "디스크"로 입력을가립니다. 코드는 다음과 같아야합니다.
<input type="text" class="myPassword" />
input .myPassword{
text-security:disc;
-webkit-text-security:disc;
-mox-text-security:disc;
}
이는 파이어 폭스 브라우저에서 제대로 작동하지 않을 수 있으며 추가 해결 방법이 필요합니다. 여기에서 자세히 알아보세요 : https://stackoverflow.com/a/49304708/5477548 .
해결책은 이 링크 에서 가져 왔지만 SO "no-hotlinks"를 준수하기 위해 여기에 요약했습니다.
대부분의 주요 브라우저의 경우 외부에 입력을하고 어떤 형식에도 연결하지 않으면 브라우저가 제출이 없다고 생각하게 만듭니다. 이 경우 로그인에 순수 JS 유효성 검사를 사용해야하며 암호 암호화도 필요합니다.
전에:
<form action="..."><input type="password"/></form>
후:
<input type="password"/>
Firefox와 Chrome에서 다음 작품을 발견했습니다.
<form ... > <!-- more stuff -->
<input name="person" type="text" size=30 value="">
<input name="mypswd" type="password" size=6 value="" autocomplete="off">
<input name="userid" type="text" value="security" style="display:none">
<input name="passwd" type="password" value="faker" style="display:none">
<!-- more stuff --> </form>
이 모든 것은 양식 섹션에 있습니다. "person"과 "mypswd"는 여러분이 원하는 것이지만, 브라우저는 "userid"와 "passwd"를 한 번만 저장하고 변경되지 않으므로 다시는 저장하지 않습니다. 실제로 필요하지 않은 경우 "사람"필드를 제거 할 수 있습니다. 이 경우 원하는 것은 "mypswd"필드이며 웹 페이지 사용자에게 알려진 방식으로 변경 될 수 있습니다.
Firefox, Edge 및 Internet Explorer에서 자동 완성 기능을 해제 할 수있는 유일한 방법은 다음과 같은 양식 문에 autocomplete = "false"를 추가하는 것입니다.
<form action="postingpage.php" autocomplete="false" method="post">
그리고 양식 입력에 autocomplete = "off"를 추가하고 유형을 텍스트로 변경해야합니다.
<input type="text" autocomplete="off">
이 HTML 코드는 브라우저로 표준화되어야하는 것 같습니다. 형식 유형 = 암호는 브라우저 설정을 무시하도록 수정해야합니다. 내가 가진 유일한 문제는 입력 마스킹을 잃어버린 것입니다. 그러나 밝은면에서 성가신 "이 사이트는 안전하지 않습니다"는 파이어 폭스에 나타나지 않습니다.
나에게는 사용자가 이미 인증되어 있고 내 사용자 이름과 암호 부분이 변경되었으므로 큰 문제는 아닙니다.