Saya ingat pernah melihat cara untuk melakukannya <input type="password" />
sehingga browser tidak akan meminta pengguna untuk menyimpan sandi. Tapi saya menggambar kosong. Apakah ada atribut HTML atau trik JavaScript yang akan melakukan ini?
101
Jawaban:
Coba gunakan
autocomplete="off"
. Tidak yakin apakah semua browser mendukungnya. Dokumentasi MSDN di sini .EDIT : Catatan: sebagian besar browser telah menjatuhkan dukungan untuk atribut ini. Lihat Apakah autocomplete = "off" kompatibel dengan semua browser modern?
Ini bisa dibilang sesuatu yang harus diserahkan kepada pengguna daripada perancang situs web.
sumber
<input type="password" autocomplete="off" />
Saya hanya ingin menambahkan bahwa sebagai pengguna menurut saya ini sangat mengganggu dan merepotkan untuk diatasi. Saya sangat menyarankan agar tidak menggunakan ini karena kemungkinan besar akan memperburuk pengguna Anda.
Kata sandi sudah tidak disimpan di MRU, dan mesin publik yang dikonfigurasi dengan benar bahkan tidak akan menyimpan nama pengguna.
sumber
Saya memecahkan dengan cara lain. Anda bisa mencobanya.
#cara lain
// Anda perlu menambahkan atribut autocomplete = "off" atau Anda dapat menambahkan kelas .auto-complete-off ke dalam kotak input dan nikmati
Contoh:
sumber
Saya mencoba yang berikut ini dan tampaknya berfungsi untuk semua browser:
Cara ini jauh lebih aman daripada menggunakan teknik batas waktu, karena ini menjamin bahwa kolom input akan menghasilkan kata sandi saat pengguna memfokuskannya.
sumber
Mengenai masalah keamanan, berikut adalah apa yang akan dikatakan oleh konsultan keamanan kepada Anda tentang keseluruhan masalah lapangan (ini dari audit keamanan independen yang sebenarnya):
Saya juga setuju ini harus mencakup bidang apa pun yang benar-benar berisi data pribadi. Saya merasa tidak apa-apa untuk memaksa seseorang untuk selalu mengetik informasi kartu kredit, kode CVC, sandi, nama pengguna, dll. Kapan pun situs itu akan mengakses apa pun yang harus dijaga keamanannya [secara universal atau dengan persyaratan kepatuhan hukum]. Misalnya: formulir pembelian, situs bank / kredit, situs pajak, data medis, federal, nuklir, dll. - bukan Situs seperti Stack Overflow atau Facebook.
Jenis situs lain - misalnya TimeStar Online untuk jam masuk dan keluar dari pekerjaan - itu bodoh, karena saya selalu menggunakan PC / akun yang sama di tempat kerja, sehingga saya tidak dapat menyimpan kredensial di situs itu - anehnya saya bisa di Android saya tapi tidak di iPad. Bahkan PC bersama ini tidak akan terlalu buruk karena mencatat masuk / keluar untuk orang lain benar-benar tidak melakukan apa-apa selain mengganggu supervisor Anda. (Mereka harus masuk dan menghapus pukulan yang salah - pilih saja untuk tidak menyimpan di PC umum).
sumber
Ini dia.
sumber
Inilah jawaban terbaik dan termudah! Letakkan bidang sandi tambahan di depan
input
bidang Anda dan aturdisplay:none
, sehingga saat browser mengisinya, ia melakukannya di tempatinput
yang tidak Anda pedulikan.Ubah ini:
untuk ini:
sumber
display:none
tidak berfungsi untuk saya (Chrome 61 OSX), tetapi ini<input type="password" style="position: absolute; top: -1000px;">
Baca juga jawaban ini di mana dia menggunakan solusi mudah ini yang berfungsi di mana-mana (lihat juga perbaikan untuk Safari seluler):
sumber
Anda dapat menggunakan JQuery, pilih item berdasarkan id:
Atau pilih item berdasarkan jenis:
Atau juga:
Anda dapat menggunakan Javascript murni:
sumber
Anda juga bisa menggunakannya seperti berikut
sumber
mengingat autocomplete = off sudah tidak digunakan lagi, saya menyarankan solusi yang lebih baru.
Setel bidang sandi Anda ke bidang teks normal, dan tutupi masukan Anda dengan "cakram" menggunakan CSS. kodenya akan terlihat seperti ini:
Harap dicatat bahwa ini mungkin tidak berfungsi dengan baik pada browser firefox, dan diperlukan panduan tambahan. Baca lebih lanjut di sini: https://stackoverflow.com/a/49304708/5477548 .
Solusinya diambil dari link ini , tetapi untuk memenuhi SO "no-hotlinks" saya merangkumnya di sini.
sumber
Dalam kasus sebagian besar browser utama, memiliki input di luar dan tidak terhubung ke bentuk apa pun menipu browser untuk berpikir bahwa tidak ada pengiriman. Dalam hal ini, Anda harus menggunakan validasi JS murni untuk login dan enkripsi kata sandi Anda juga diperlukan.
Sebelum:
Setelah:
sumber
Saya telah menemukan karya berikut di Firefox dan Chrome.
Semua ini ada di dalam bagian formulir. "person" dan "mypswd" adalah yang Anda inginkan, tetapi browser akan menyimpan "userid" dan "passwd" sekali, dan tidak akan pernah lagi karena keduanya tidak berubah. Anda dapat menghilangkan bidang "orang" jika Anda tidak benar-benar membutuhkannya. Dalam hal ini, yang Anda inginkan hanyalah bidang "mypswd", yang dapat berubah dalam beberapa cara yang diketahui oleh pengguna halaman web Anda.
sumber
Satu-satunya cara saya bisa mendapatkan firefox, edge, dan Internet explorer untuk mematikan pelengkapan otomatis adalah dengan menambahkan autocomplete = "false" di pernyataan formulir saya seperti:
dan saya harus menambahkan autocomplete = "off" ke masukan formulir saya dan mengubah jenisnya menjadi teks Seperti:
Tampaknya kode html ini perlu distandarisasi dengan browser. form type = password harus direvisi sehingga menggantikan pengaturan browser. Satu-satunya masalah yang saya miliki adalah saya kehilangan input masking saya. Namun sisi baiknya, "situs ini tidak aman" yang mengganggu tidak muncul di firefox.
bagi saya, ini bukan masalah besar karena pengguna sudah diautentikasi dan bagian nama pengguna dan kata sandi saya yang berubah
sumber