Karena sebagian besar autocomplete
saran, termasuk jawaban yang diterima, tidak berfungsi di peramban web saat ini (mis. Pengelola kata sandi peramban web abaikan autocomplete
), solusi yang lebih baru adalah menukar antara password
dantext
mengetik dan membuat warna latar belakang cocok dengan warna teks saat bidang adalah bidang teks biasa, yang terus menyembunyikan kata sandi saat menjadi bidang kata sandi nyata saat pengguna (atau program seperti KeePass) memasukkan kata sandi. Browser tidak meminta untuk menyimpan kata sandi yang disimpan dalam bidang teks biasa.
Keuntungan dari pendekatan ini adalah ia memungkinkan untuk peningkatan progresif dan karenanya tidak memerlukan Javascript untuk bidang berfungsi sebagai bidang kata sandi normal (Anda juga bisa mulai dengan bidang teks biasa dan menerapkan pendekatan yang sama tetapi itu tidak benar-benar HIPAA Sesuai PHI / PII). Pendekatan ini juga tidak bergantung pada formulir / bidang tersembunyi yang mungkin belum tentu dikirim ke server (karena mereka tersembunyi) dan beberapa trik itu juga tidak berfungsi baik di beberapa browser modern.
Plugin jQuery:
https://github.com/cubiclesoft/php-flexforms-modules/blob/master/password-manager/jquery.stoppasswordmanager.js
Kode sumber yang relevan dari tautan di atas:
(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));
Demo:
https://barebonescms.com/demos/admin_pack/admin.php
Klik "Tambah Entri" di menu dan kemudian gulir ke bagian bawah halaman untuk "Modul: Hentikan Kata Sandi Manajer".
Penafian: Meskipun pendekatan ini bekerja untuk individu yang terlihat, mungkin ada masalah dengan perangkat lunak pembaca layar. Misalnya, pembaca layar mungkin membaca kata sandi pengguna dengan keras karena melihat bidang teks biasa. Mungkin juga ada konsekuensi lain yang tidak terduga dari penggunaan plugin di atas. Mengubah fungsi browser web bawaan harus dilakukan hemat dengan menguji berbagai kondisi dan kasus tepi.