의 대부분 때문에 autocomplete
허용 대답을 포함하여 제안 (즉, 웹 브라우저의 암호 관리자는 무시 오늘날의 웹 브라우저에서 작동하지 않습니다 autocomplete
), 더 새로운 솔루션 사이의 스왑하는 것입니다 password
및 text
유형과 때 필드 배경색이 텍스트의 색상을 일치하게 일반 텍스트 필드는 사용자 (또는 KeePass와 같은 프로그램)가 암호를 입력 할 때 실제 암호 필드 인 동안 암호를 계속 숨 깁니다. 브라우저는 일반 텍스트 필드에 저장된 비밀번호를 저장하도록 요구하지 않습니다.
이 접근 방식의 장점은 점진적인 향상이 가능하므로 필드가 일반 비밀번호 필드로 작동하기 위해 Javascript가 필요하지 않다는 것입니다 (일반 텍스트 필드로 시작하여 동일한 접근 방식을 적용 할 수는 있지만 실제로는 HIPAA가 아닙니다) PHI / PII 호환). 이 방법은 서버에 전송 될 필요가없는 숨겨진 양식 / 필드에 의존하지 않으며 (숨겨져 있기 때문에) 일부 트릭도 여러 최신 브라우저에서 작동하지 않습니다.
jQuery 플러그인 :
https://github.com/cubiclesoft/php-flexforms-modules/blob/master/password-manager/jquery.stoppasswordmanager.js
위 링크의 관련 소스 코드 :
(function($) {
$.fn.StopPasswordManager = function() {
return this.each(function() {
var $this = $(this);
$this.addClass('no-print');
$this.attr('data-background-color', $this.css('background-color'));
$this.css('background-color', $this.css('color'));
$this.attr('type', 'text');
$this.attr('autocomplete', 'off');
$this.focus(function() {
$this.attr('type', 'password');
$this.css('background-color', $this.attr('data-background-color'));
});
$this.blur(function() {
$this.css('background-color', $this.css('color'));
$this.attr('type', 'text');
$this[0].selectionStart = $this[0].selectionEnd;
});
$this.on('keydown', function(e) {
if (e.keyCode == 13)
{
$this.css('background-color', $this.css('color'));
$this.attr('type', 'text');
$this[0].selectionStart = $this[0].selectionEnd;
}
});
});
}
}(jQuery));
데모:
https://barebonescms.com/demos/admin_pack/admin.php
메뉴에서 "항목 추가"를 클릭 한 다음 페이지 맨 아래로 스크롤하여 "모듈 : 비밀번호 관리자 중지"로 이동하십시오.
면책 조항 :이 방법은 시력이 좋은 개인에게 효과적이지만 화면 판독기 소프트웨어에 문제가있을 수 있습니다. 예를 들어, 스크린 리더에는 일반 텍스트 필드가 표시되므로 사용자의 비밀번호를 크게 읽을 수 있습니다. 위 플러그인을 사용하면 예상치 못한 다른 결과가 발생할 수도 있습니다. 내장 된 웹 브라우저 기능의 변경은 다양한 조건 및 엣지 사례를 테스트하면서 드물게 수행해야합니다.