Saya sedang melakukan penelitian untuk menemukan contoh yang baik dari pemeriksa Kekuatan Kata Sandi yang digunakan JavaScript serta Ekspresi Reguler (Ekspresi Reguler). Dalam aplikasi di tempat kerja saya, kami melakukan posting kembali untuk memverifikasi kekuatan kata sandi dan itu cukup merepotkan bagi pengguna kami.
Apa itu Regex?
Ekspresi reguler adalah urutan karakter yang menentukan pola pencarian. Biasanya, pola seperti itu digunakan oleh algoritma pencarian string menemukan or Temukan dan ganti operasi pada string, atau untuk validasi input.
Artikel ini jelas tidak untuk mengajari Anda ekspresi reguler. Ketahuilah bahwa kemampuan untuk menggunakan Ekspresi Reguler benar-benar akan menyederhanakan pengembangan Anda saat Anda mencari pola dalam teks. Penting juga untuk dicatat bahwa sebagian besar bahasa pengembangan telah mengoptimalkan penggunaan ekspresi reguler ... jadi daripada mengurai dan mencari string selangkah demi selangkah, Regex biasanya jauh lebih cepat baik di sisi server maupun sisi klien.
Saya mencari di web sedikit sebelum saya menemukan contoh dari beberapa Ekspresi Reguler hebat yang mencari kombinasi panjang, karakter, dan simbol. Namun, kodenya sedikit berlebihan untuk selera saya dan disesuaikan untuk .NET. Jadi saya menyederhanakan kode dan memasukkannya ke dalam JavaScript. Ini membuatnya memvalidasi kekuatan kata sandi secara waktu nyata di browser klien sebelum mempostingnya kembali ... dan memberikan beberapa umpan balik kepada pengguna tentang kekuatan kata sandi.
Ketik Kata Sandi
Dengan setiap goresan keyboard, sandi diuji terhadap ekspresi reguler dan kemudian umpan balik diberikan kepada pengguna dalam rentang di bawahnya.
Ketik kata sandi
Inilah Kodenya
The Ekspresi Reguler lakukan pekerjaan luar biasa dalam meminimalkan panjang kode:
- Lebih banyak karakter - Jika panjangnya kurang dari 8 karakter.
- Lemah - Jika panjangnya kurang dari 10 karakter dan tidak berisi kombinasi simbol, huruf kapital, teks.
- Medium - Jika panjangnya 10 karakter atau lebih dan memiliki kombinasi simbol, huruf kapital, teks.
- Kuat - Jika panjangnya 14 karakter atau lebih dan memiliki kombinasi simbol, huruf kapital, teks.
<script language="javascript">
function passwordChanged() {
var strength = document.getElementById('strength');
var strongRegex = new RegExp("^(?=.{14,})(?=.*[A-Z])(?=.*[a-z])(?=.*[0-9])(?=.*\\W).*$", "g");
var mediumRegex = new RegExp("^(?=.{10,})(((?=.*[A-Z])(?=.*[a-z]))|((?=.*[A-Z])(?=.*[0-9]))|((?=.*[a-z])(?=.*[0-9]))).*$", "g");
var enoughRegex = new RegExp("(?=.{8,}).*", "g");
var pwd = document.getElementById("password");
if (pwd.value.length == 0) {
strength.innerHTML = 'Type Password';
} else if (false == enoughRegex.test(pwd.value)) {
strength.innerHTML = 'More Characters';
} else if (strongRegex.test(pwd.value)) {
strength.innerHTML = '<span style="color:green">Strong!</span>';
} else if (mediumRegex.test(pwd.value)) {
strength.innerHTML = '<span style="color:orange">Medium!</span>';
} else {
strength.innerHTML = '<span style="color:red">Weak!</span>';
}
}
</script>
<input name="password" id="password" type="text" size="15" maxlength="100" onkeyup="return passwordChanged();" />
<span id="strength">Type Password</span>
Mengeraskan Permintaan Kata Sandi Anda
Sangat penting bahwa Anda tidak hanya memvalidasi konstruksi kata sandi dalam Javascript Anda. Ini akan memungkinkan siapa pun yang memiliki alat pengembangan browser untuk melewati skrip dan menggunakan kata sandi apa pun yang mereka inginkan. Anda harus SELALU menggunakan pemeriksaan sisi server untuk memvalidasi kekuatan kata sandi sebelum menyimpannya di platform Anda.
Saya menemukan pemeriksa kekuatan sandi lain. Algoritma mereka berdasarkan kamus kata-kata. Cobalah satu di microsoft.com - http://www.microsoft.com/protect/yourself/password/checker.mspx dan satu di itsimpl.com - http://www.itsimpl.com
TERIMA KASIH! TERIMA KASIH! TERIMA KASIH! Saya telah bermain-main selama 2 minggu dengan kode kekuatan kata sandi sialan dari situs web lain dan menarik rambut saya. Milik Anda singkat, berfungsi seperti yang saya inginkan dan yang terbaik, mudah bagi pemula javascript untuk memodifikasi! Saya ingin menangkap keputusan yang kuat dan tidak membiarkan formulir posting benar-benar memperbarui kata sandi pengguna kecuali itu memenuhi uji kekuatan. Kode orang lain terlalu rumit atau tidak berfungsi dengan benar atau sesuatu yang lain. Aku cinta kamu! XXXXX
Sama-sama! Sama-sama! Sama-sama!
Aku mencintaimu juga!
terima kasih Tuhan untuk orang-orang yang benar-benar dapat menulis sebuah kode dengan benar.
Memiliki pengalaman yang sama dengan Janis.
Ini berfungsi langsung di luar kotak yang sempurna untuk orang-orang seperti saya yang tidak dapat membuat kode javascript!
Terima kasih telah menulis sepotong kode yang melakukan persis seperti yang tertulis di kaleng!
Hai, pertama-tama terima kasih banyak atas upaya Anda, saya mencoba menggunakan ini dengan Asp.net tetapi tidak berhasil, saya menggunakan
alih-alih memberi tag, dan tidak berhasil, ada saran ?!
Ke Nisreen: kode di kotak yang disorot tidak berfungsi dengan cut'n'paste. Kutipan tunggal kacau. Kode tautan demonstrasi baik-baik saja.
Hei, aku suka naskahmu! Saya menerjemahkannya ke dalam bahasa Belanda, dan saya mempostingnya di forum saya di sini!
kerja bagus! persis bagaimana itu harus dilakukan pada klien
pekerjaan yang sangat bagus….
Terima kasih Douglas, saya menggunakannya untuk pekerjaan saya saat ini.
“P @ s $ w0rD” ditampilkan dengan kuat, meskipun itu akan dipecahkan dengan cukup cepat dengan serangan kamus…
Untuk menerapkan fitur seperti itu pada solusi profesional, saya yakin penting untuk menggabungkan algoritme ini dengan pemeriksaan kamus.
Berfungsi bagus di XULRunner dengan sedikit perubahan. Terima kasih!
Terima kasih untuk kode kecil ini sekarang saya dapat menggunakannya untuk menguji kekuatan kata sandi saya ketika pengunjung saya memasukkan kata sandi mereka,
Pengkodean yang bagus
Skripnya super. Saya telah digunakan dalam proyek kami saat ini
Terima kasih untuk berbagi!
Ekspresi yang sangat sederhana dan fantastis. Saya sebagai penguji mendapatkan TC saya dari ekspresi ini.
Terima kasih sudah berbagi. Anda memiliki beberapa link rusak di halaman ini. FYI.
dapatkah seseorang mengatakan, mengapa itu tidak berhasil dengan saya ..
saya menyalin semua kode, dan menempelkannya ke notepad ++, tetapi tidak berfungsi sama sekali?
tolong bantu aku..
Fantastis!!!!! Terima kasih.
Kerja bagus! Sederhana dan efektif. Terima kasih banyak telah berbagi!
Terima kasih
Bagus, terima kasih. Tapi… Apa contoh dari pw STRONG? 'tidak dapat menemukannya! - {}
Jenis "pemeriksa kekuatan" ini membawa orang ke jalan yang sangat berbahaya. Ini menghargai keragaman karakter daripada panjang frasa sandi, membuatnya menilai kata sandi yang lebih pendek dan lebih beragam sebagai kata sandi yang lebih panjang dan kurang beragam. Itu adalah kekeliruan yang akan membuat pengguna Anda mendapat masalah jika mereka menghadapi ancaman peretasan yang serius.
Saya tidak setuju, Jordan! Contoh itu hanya diberikan sebagai contoh naskah. Rekomendasi saya untuk orang-orang adalah menggunakan alat manajemen kata sandi untuk membuat kata sandi independen untuk situs apa pun yang unik. Terima kasih!
terima kasih itu berfungsi dengan baik.
Terima kasih ini berfungsi dengan baik
Saya sangat menghargai Anda dicari berkali-kali tetapi terakhir saya mendapatkan posting Anda dan saya benar-benar diam. TERIMA KASIH
Terima kasih sobat. Baru saja diterapkan di situs web saya dan berfungsi dengan sangat baik.
Senang mendengarnya! Anda dipersilahkan!
Saya menghargai Anda berbagi! Telah berusaha untuk meningkatkan kekuatan kata sandi di situs web kami dan yang ini berfungsi seperti yang saya inginkan. Terima kasih banyak!
Terima kasih, semoga Anda dapat menyesuaikannya sesuai kebutuhan.