เนื่องจากautocomplete
คำแนะนำส่วนใหญ่รวมถึงคำตอบที่ยอมรับจึงไม่สามารถใช้งานได้ในเว็บเบราว์เซอร์ในปัจจุบัน (เช่นตัวจัดการรหัสผ่านเว็บเบราว์เซอร์ไม่สนใจautocomplete
) วิธีแก้ปัญหาที่แปลกใหม่ก็คือการสลับระหว่างpassword
และtext
ประเภทและทำให้สีพื้นหลังตรงกับสีข้อความเมื่อฟิลด์ เป็นฟิลด์ข้อความธรรมดาซึ่งยังคงซ่อนรหัสผ่านในขณะที่เป็นฟิลด์รหัสผ่านจริงเมื่อผู้ใช้ (หรือโปรแกรมอย่าง KeePass) กำลังป้อนรหัสผ่าน เบราว์เซอร์ไม่ขอให้บันทึกรหัสผ่านที่เก็บไว้ในช่องข้อความธรรมดา
ข้อดีของวิธีนี้คืออนุญาตให้มีการปรับปรุงแบบก้าวหน้าดังนั้นจึงไม่จำเป็นต้องใช้ Javascript สำหรับเขตข้อมูลเพื่อทำงานเป็นเขตข้อมูลรหัสผ่านปกติ (คุณสามารถเริ่มต้นด้วยช่องข้อความธรรมดาแทนและใช้แนวทางเดียวกัน แต่นั่นไม่ใช่ HIPAA จริงๆ พี / 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
คลิก "เพิ่มรายการ" ในเมนูจากนั้นเลื่อนไปที่ด้านล่างของหน้าเพื่อ "Module: Stop Password Manager"
คำเตือน: ในขณะที่วิธีการนี้ใช้งานได้สำหรับบุคคลที่มีสายตา แต่อาจมีปัญหากับซอฟต์แวร์ตัวอ่านหน้าจอ ตัวอย่างเช่นโปรแกรมอ่านหน้าจออาจอ่านรหัสผ่านของผู้ใช้ออกมาดัง ๆ เพราะเห็นฟิลด์ข้อความธรรมดา อาจมีผลกระทบอื่น ๆ ที่ไม่คาดคิดจากการใช้ปลั๊กอินด้านบน การปรับเปลี่ยนฟังก์ชั่นเว็บเบราเซอร์ในตัวควรทำอย่าง จำกัด ด้วยการทดสอบเงื่อนไขและขอบเคสที่หลากหลาย