Salah satu kegembiraan bekerja di lembaga layanan kesehatan pemerintah adalah harus berurusan dengan semua paranoia dalam berurusan dengan PHI (Informasi Kesehatan yang Dilindungi). Jangan salah paham, saya melakukan semua yang mungkin untuk melindungi informasi pribadi orang (kesehatan, keuangan, kebiasaan berselancar, dll.), Tetapi kadang-kadang orang menjadi agak terlalu gelisah.
Contoh kasus: Salah satu pelanggan negara bagian kami baru-baru ini mengetahui bahwa browser menyediakan fitur praktis untuk menyimpan kata sandi Anda. Kita semua tahu bahwa itu sudah ada di sana untuk sementara waktu dan sepenuhnya opsional dan terserah pengguna akhir untuk memutuskan apakah itu keputusan cerdas untuk digunakan atau tidak. Namun, ada sedikit kegemparan saat ini dan kami dituntut untuk menemukan cara untuk menonaktifkan fungsi itu untuk situs kami.
Pertanyaan : Apakah ada cara bagi situs untuk memberi tahu browser agar tidak menawarkan untuk mengingat kata sandi? Saya sudah menjelajahi web sejak lama, tetapi tidak tahu bahwa saya pernah menemukan itu sebelumnya.
Bantuan apa pun dihargai.
sumber
Jawaban:
Saya tidak yakin apakah itu akan berfungsi di semua browser tetapi Anda harus mencoba mengatur autocomplete = "off" pada formulir.
Beberapa penelitian kecil menunjukkan bahwa ini berfungsi di IE tetapi saya tidak akan memberikan jaminan;)
@ Joseph : Jika ini merupakan persyaratan ketat untuk lulus validasi XHTML dengan markup yang sebenarnya (tidak tahu mengapa itu terjadi), Anda secara teoritis dapat menambahkan atribut ini dengan javascript setelah itu tetapi kemudian pengguna dengan js dinonaktifkan (mungkin jumlah pengguna Anda yang diabaikan) atau nol jika situs Anda memerlukan js) masih menyimpan kata sandi mereka.
Contoh dengan jQuery:
sumber
autocomplete="off"
untukinput type="password"
bidang. msdn.microsoft.com/en-us/library/ie/ms533486%28v=vs.85%29.aspxuntuk input yang Anda tidak ingin mereka untuk mengingat data formulir (
username
,password
, dll) seperti yang ditunjukkan di bawah ini:Diuji pada versi terbaru dari browser utama yaitu
Google Chrome
,Mozilla Firefox
,Microsoft Edge
, dll dan bekerja seperti pesona. Semoga ini membantu.sumber
Saya telah berjuang dengan masalah ini beberapa saat, dengan twist unik untuk masalah ini. Pengguna yang diberi hak istimewa tidak dapat membuat kata sandi yang disimpan berfungsi untuk mereka, tetapi pengguna normal membutuhkannya. Ini berarti pengguna istimewa harus login dua kali, yang kedua kalinya tidak ada kata sandi yang disimpan.
Dengan persyaratan ini,
autocomplete="off"
metode standar tidak berfungsi di semua browser, karena kata sandi mungkin telah disimpan dari login pertama. Seorang kolega menemukan solusi untuk mengganti bidang kata sandi saat itu difokuskan dengan bidang kata sandi baru, dan kemudian fokus pada bidang kata sandi baru (kemudian menghubungkan event handler yang sama). Ini berhasil (kecuali itu menyebabkan loop tak terbatas di IE6). Mungkin ada jalan keluarnya, tapi itu menyebabkan saya menderita migrain.Akhirnya, saya mencoba hanya memasukkan nama pengguna dan kata sandi di luar formulir. Yang mengejutkan saya, ini berhasil! Ini bekerja pada IE6, dan versi Firefox dan Chrome di Linux saat ini. Saya belum mengujinya lebih lanjut, tetapi saya menduga itu berfungsi di sebagian besar jika tidak semua browser (tapi itu tidak akan mengejutkan saya jika ada browser di luar sana yang tidak peduli jika tidak ada formulir).
Berikut adalah beberapa kode contoh, bersama dengan beberapa jQuery untuk membuatnya berfungsi:
sumber
Yah, itu posting yang sangat tua, tapi tetap saya akan memberikan solusi saya, yang telah lama berusaha dicapai oleh tim saya. Kami baru saja menambahkan bidang tipe input = "kata sandi" baru di dalam formulir dan membungkusnya dalam div dan membuat div tersebut disembunyikan. Pastikan div ini sebelum input kata sandi yang sebenarnya. Ini berhasil bagi kami dan tidak memberikan opsi Simpan Kata Sandi
Plunk - http://plnkr.co/edit/xmBR31NQMUgUhYHBiZSg?p=preview
HTML:
CSS:
sumber
Anda dapat mencegah peramban mencocokkan formulir dengan mengacak nama yang digunakan untuk bidang kata sandi pada setiap pertunjukan. Kemudian browser melihat kata sandi untuk url yang sama, tetapi tidak dapat memastikan kata sandinya sama . Mungkin itu mengendalikan sesuatu yang lain.
Pembaruan: perhatikan bahwa ini harus ditambahkan ke menggunakan autocomplete atau taktik lain, bukan pengganti untuk mereka, karena alasan yang ditunjukkan oleh orang lain.
Perhatikan juga bahwa ini hanya akan mencegah browser menyelesaikan kata sandi secara otomatis. Ini tidak akan mencegahnya menyimpan kata sandi di tingkat arbitrase apa pun yang dipilih peramban untuk digunakan.
sumber
Gunakan otentikasi dua faktor nyata untuk menghindari ketergantungan tunggal pada kata sandi yang mungkin disimpan di lebih banyak tempat daripada cache browser pengguna.
sumber
Cara terbersih adalah menggunakan
autocomplete="off"
atribut tag tetapi Firefox tidak mematuhinya dengan benar ketika Anda berpindah bidang dengan Tab.Satu-satunya cara Anda bisa menghentikan ini adalah dengan menambahkan bidang kata sandi tersembunyi palsu yang menipu peramban untuk mengisi kata sandi di sana.
Ini adalah hack yang jelek, karena Anda mengubah perilaku browser, yang seharusnya dianggap praktik buruk. Gunakan hanya jika Anda benar-benar membutuhkannya.
Catatan: ini akan secara efektif menghentikan pengisian otomatis kata sandi, karena FF akan "menyimpan" nilai
#prevent_autofill
(yang kosong) dan akan mencoba untuk mengisi setiap kata sandi yang disimpan di sana, karena selalu menggunakantype="password"
input pertama yang ditemukannya di DOM setelah masing-masing "nama pengguna" memasukkan.sumber
Saya telah menguji bahwa menambahkan autocomplete = "off" dalam bentuk tag di semua browser utama. Bahkan, sebagian besar orang di AS menggunakan IE8 sejauh ini.
Diperbarui pada 11 Juni 2014
Akhirnya, di bawah ini adalah solusi lintas browser menggunakan javascript dan berfungsi dengan baik di semua browser.
Perlu menghapus tag "form" di form login. Setelah validasi sisi klien, masukkan kredensial itu dalam bentuk tersembunyi dan kirimkan.
Juga, tambahkan dua metode. satu untuk validasi "validateLogin ()" dan satu lagi untuk mendengarkan acara enter sambil klik enter di kotak teks / kata sandi / tombol "checkAndSubmit ()". karena sekarang formulir masuk tidak memiliki tag formulir, jadi masuk acara tidak berfungsi di sini.
HTML
Javascript
Semoga berhasil!!!
sumber
Tidak juga - satu-satunya hal yang secara realistis dapat Anda lakukan adalah menawarkan saran di situs; mungkin, sebelum masuk pertama kali, Anda dapat menunjukkan kepada mereka formulir dengan informasi yang menunjukkan bahwa mereka tidak mengijinkan browser untuk menyimpan kata sandi.
Kemudian pengguna akan segera mengikuti saran, menuliskan kata sandi pada catatan post-it dan menempelkannya ke monitor mereka.
sumber
Apa yang telah saya lakukan adalah kombinasi dari autocomplete = "off" dan membersihkan bidang kata sandi menggunakan javascript / jQuery.
Contoh jQuery:
Dengan menggunakan
setTimeout()
Anda dapat menunggu browser untuk menyelesaikan bidang sebelum Anda menghapusnya, jika tidak browser akan selalu lengkap setelah Anda menghapus bidang.sumber
jika autocomplete = "off" tidak berfungsi ... hapus tag form dan gunakan tag div sebagai gantinya, kemudian berikan nilai form menggunakan jquery ke server. Ini berhasil untuk saya.
sumber
Karena autocomplete = "off" tidak berfungsi untuk bidang kata sandi, seseorang harus mengandalkan javascript. Inilah solusi sederhana berdasarkan jawaban yang ditemukan di sini.
Tambahkan atribut data-password-autocomplete = "off" ke bidang kata sandi Anda:
Sertakan JS berikut:
Solusi ini berfungsi untuk Chrome dan FF.
sumber
Supaya orang sadar - atribut 'pelengkapan otomatis' berfungsi sebagian besar waktu, tetapi pengguna yang kuat dapat mengatasinya menggunakan bookmarklet.
Memiliki browser menyimpan kata sandi Anda sebenarnya meningkatkan perlindungan terhadap keylogging, jadi mungkin opsi paling aman adalah menyimpan kata sandi di browser tetapi melindunginya dengan kata sandi utama (setidaknya di Firefox).
sumber
Saya punya pekerjaan di sekitar, yang dapat membantu.
Anda dapat membuat retasan font khusus. Jadi, buat font khusus, dengan semua karakter sebagai titik / lingkaran / bintang misalnya. Gunakan ini sebagai font khusus untuk situs web Anda. Periksa bagaimana melakukan ini di inkscape: bagaimana membuat font Anda sendiri
Kemudian pada form login Anda gunakan:
Kemudian tambahkan css Anda:
Browser yang cukup kompatibel. Saya sudah mencoba IE6 +, FF, Safari dan Chrome. Pastikan saja font oet yang Anda konversi tidak rusak. Semoga ini bisa membantu?
sumber
Cara paling sederhana untuk mengatasi masalah ini adalah dengan menempatkan bidang INPUT di luar tag FORMULIR dan menambahkan dua bidang tersembunyi di dalam tag FORMULIR. Kemudian di ajukan pendengar acara sebelum data formulir dikirimkan ke nilai salin server dari input yang terlihat ke yang tidak terlihat.
Berikut ini sebuah contoh (Anda tidak dapat menjalankannya di sini, karena tindakan formulir tidak disetel ke skrip login nyata):
sumber
Solusi js (jquery) saya adalah mengubah jenis input kata sandi menjadi teks pada formulir kirim . Kata sandi bisa terlihat selama sedetik, jadi saya juga menyembunyikan input sebelum itu. Saya lebih suka tidak menggunakan ini untuk formulir login , tetapi ini berguna (bersama dengan autocomplete = "off") misalnya di dalam bagian administrasi situs web.
Coba letakkan ini di dalam konsol (dengan jquery), sebelum Anda mengirimkan formulir.
Diuji pada Chrome 44.0.2403.157 (64-bit).
sumber
Saya menguji banyak solusi. Nama bidang kata sandi dinamis, beberapa bidang kata sandi (tidak terlihat untuk kata sandi palsu), mengubah jenis input dari "teks" menjadi "kata sandi", autocomplete = "off", autocomplete = "new-password", ... tetapi tidak ada yang menyelesaikannya dengan yang terbaru browser.
Untuk menghilangkan kata sandi ingat, saya akhirnya memperlakukan kata sandi sebagai bidang input, dan "mengaburkan" teks yang diketik.
Itu kurang "aman" daripada bidang kata sandi asli karena memilih teks yang diketik akan menampilkannya sebagai teks yang jelas, tetapi kata sandi tidak diingat. Itu juga tergantung pada apakah Javascript diaktifkan.
Anda akan memperkirakan risiko menggunakan opsi mengingat proposal dan kata sandi di bawah ini dari navigator.
Meskipun mengingat kata sandi dapat dikelola (disbaled per situs) oleh pengguna, itu baik untuk komputer pribadi, bukan untuk komputer "umum" atau bersama.
Saya pikir ini untuk ERP yang berjalan di komputer bersama, jadi saya akan mencobanya untuk solusi saya di bawah ini.
sumber
Markus mengangkat poin yang bagus. Saya memutuskan untuk mencari
autocomplete
atribut dan mendapatkan yang berikut:Jadi saya harus mengatakan bahwa meskipun tidak bekerja 100%, itu ditangani di browser utama sehingga ini solusi yang bagus.
sumber
Saya mencoba di atas
autocomplete="off"
dan belum ada yang berhasil. Jika Anda menggunakan js sudut, rekomendasi saya adalah pergi dengan tombol dan ng-klik.Ini sudah memiliki jawaban yang diterima dan menambahkan ini jika seseorang tidak dapat menyelesaikan masalah dengan jawaban yang diterima dia dapat pergi dengan mekanisme saya.
Terima kasih atas pertanyaan dan jawabannya.
sumber
enter
ataureturn
untuk mengirim formulir.Salah satu cara saya tahu adalah menggunakan (misalnya) JavaScript untuk menyalin nilai dari bidang kata sandi sebelum mengirimkan formulir.
Masalah utama dengan ini adalah solusinya terkait dengan JavaScript.
Kemudian lagi, jika itu dapat dikaitkan dengan JavaScript Anda mungkin juga hash kata sandi di sisi klien sebelum mengirim permintaan ke server.
sumber
Masalah sebenarnya jauh lebih dalam daripada hanya menambahkan atribut ke HTML Anda - ini adalah masalah keamanan umum, itu sebabnya orang menemukan kunci perangkat keras dan hal-hal gila lainnya untuk keamanan.
Bayangkan Anda memiliki autocomplete = "off" yang berfungsi dengan baik di semua browser. Apakah itu membantu keamanan? Tentu tidak. Pengguna akan menuliskan kata sandi mereka di buku teks, pada stiker yang terpasang pada monitor mereka di mana setiap pengunjung kantor dapat melihatnya, menyimpannya ke file teks pada desktop dan sebagainya.
Secara umum, aplikasi web dan pengembang web tidak bertanggung jawab atas keamanan pengguna akhir. Pengguna akhir hanya dapat melindungi diri mereka sendiri. Idealnya, mereka HARUS menyimpan semua kata sandi di kepala mereka dan menggunakan fungsi reset kata sandi (atau administrator kontak) jika mereka lupa. Kalau tidak, selalu akan ada risiko bahwa kata sandi dapat dilihat dan dicuri.
Jadi, apakah Anda memiliki kebijakan keamanan gila dengan kunci perangkat keras (seperti, beberapa bank menawarkan untuk internet-banking yang pada dasarnya menggunakan otentikasi dua faktor) atau pada dasarnya TANPA KEAMANAN. Yah, ini agak berlebihan tentu saja. Penting untuk memahami apa yang Anda coba lindungi:
Dalam postingan khusus ini, saya dapat melihat persyaratan yang tidak memadai diberikan pada pengembang yang tidak akan pernah dapat dia selesaikan karena sifat masalahnya - keamanan pengguna akhir. Poin subjektif saya adalah bahwa pengembang pada dasarnya harus mengatakan TIDAK dan menunjuk pada masalah persyaratan daripada membuang-buang waktu untuk tugas-tugas tersebut, jujur. Ini tidak benar-benar membuat sistem Anda lebih aman, melainkan akan mengarah ke kasing dengan stiker di monitor. Sayangnya, beberapa bos hanya mendengar apa yang ingin mereka dengar. Namun, jika saya adalah Anda, saya akan mencoba menjelaskan dari mana masalah sebenarnya berasal, dan autocomplete = "off" tidak akan menyelesaikannya kecuali itu akan memaksa pengguna untuk menyimpan semua kata sandi mereka secara eksklusif di kepala mereka! Pengembang pada akhirnya tidak dapat melindungi pengguna sepenuhnya,
sumber
Menghadapi masalah HIPAA yang sama dan menemukan solusi yang relatif mudah,
Buat bidang kata sandi tersembunyi dengan nama bidang sebagai array.
Gunakan array yang sama untuk bidang kata sandi yang sebenarnya.
Browser (Chrome) dapat meminta Anda untuk "Simpan kata sandi" tetapi terlepas dari apakah pengguna memilih menyimpan, saat berikutnya mereka masuk kata sandi akan secara otomatis mengisi bidang kata sandi yang disembunyikan, slot nol dalam array, membiarkan slot 1 kosong.
Saya mencoba mendefinisikan array, seperti "kata sandi [part2]" tetapi masih diingat. Saya pikir itu membuangnya jika ini adalah array yang tidak terindeks karena tidak punya pilihan selain menjatuhkannya di tempat pertama.
Kemudian Anda menggunakan bahasa pemrograman pilihan Anda untuk mengakses array, PHP misalnya,
sumber
Karena sebagian besar
autocomplete
saran, termasuk jawaban yang diterima, tidak berfungsi di peramban web saat ini (mis. Pengelola kata sandi peramban web abaikanautocomplete
), solusi yang lebih baru adalah menukar antarapassword
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:
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.
sumber
Situs web memberi tahu browser bahwa itu adalah kata sandi dengan menggunakan
<input type="password">
. Jadi jika Anda harus melakukan ini dari perspektif situs web maka Anda harus mengubahnya. (Jelas saya tidak merekomendasikan ini).Solusi terbaik adalah membuat pengguna mengkonfigurasi browser mereka sehingga tidak akan mengingat kata sandi.
sumber
Jika Anda tidak ingin mempercayai tanda autocomplete, Anda dapat memastikan bahwa pengguna mengetik di kotak menggunakan event onchange. Kode di bawah ini adalah formulir HTML sederhana. Unsur formulir tersembunyi password_edited mulai diatur ke 0. Ketika nilai kata sandi diubah, JavaScript di bagian atas (fungsi pw_edited) mengubah nilai menjadi 1. Ketika tombol ditekan, ia memeriksa kode pemberi nilai di sini sebelum mengirimkan formulir . Dengan begitu, meskipun peramban mengabaikan Anda dan melengkapi secara otomatis bidang tersebut, pengguna tidak dapat melewati halaman login tanpa mengetikkan bidang kata sandi. Selain itu, pastikan untuk mengosongkan bidang kata sandi saat fokus ditetapkan. Jika tidak, Anda dapat menambahkan karakter di bagian akhir, lalu kembali dan menghapusnya untuk mengelabui sistem. Saya sarankan menambahkan autocomplete = "off" ke kata sandi sebagai tambahan, tetapi contoh ini menunjukkan cara kerja kode cadangan.
sumber
autocomplete = "off" tidak berfungsi untuk menonaktifkan pengelola kata sandi di Firefox 31 dan kemungkinan besar tidak di beberapa versi sebelumnya juga.
Lihat diskusi di mozilla tentang masalah ini: https://bugzilla.mozilla.org/show_bug.cgi?id=956906
Kami ingin menggunakan bidang kata sandi kedua untuk memasukkan kata sandi satu kali yang dihasilkan oleh token. Sekarang kami menggunakan input teks daripada input kata sandi. :-(
sumber
Saya diberi tugas serupa untuk menonaktifkan pengisian otomatis nama login dan kata sandi oleh browser, setelah banyak percobaan dan kesalahan saya menemukan solusi di bawah ini menjadi optimal. Cukup tambahkan kontrol di bawah ini sebelum kontrol asli Anda.
Ini berfungsi baik untuk IE11 dan Chrome 44.0.2403.107
sumber
autocomplete = "off" berfungsi untuk sebagian besar peramban modern, tetapi metode lain yang saya gunakan yang bekerja dengan sukses dengan Epiphany (peramban yang didukung WebKit untuk GNOME) adalah menyimpan awalan yang dibuat secara acak dalam keadaan sesi (atau bidang tersembunyi, kebetulan saya memiliki variabel yang cocok dalam status sesi sudah), dan gunakan ini untuk mengubah nama bidang. Epiphany masih ingin menyimpan kata sandi, tetapi ketika kembali ke formulir itu tidak akan mengisi kolom.
sumber
Saya belum punya masalah menggunakan metode ini:
Gunakan autocomplete = "off", tambahkan bidang kata sandi tersembunyi dan kemudian yang tidak tersembunyi. Browser mencoba untuk secara otomatis menyelesaikan yang tersembunyi jika tidak menghormati autocomplete = "off"
sumber
Solusi lain adalah membuat POST menggunakan formulir tersembunyi di mana semua input bertipe tersembunyi. Formulir yang terlihat akan menggunakan input tipe "kata sandi". Formulir yang terakhir tidak akan pernah dikirimkan dan oleh karena itu browser tidak dapat memotong sama sekali operasi login.
sumber