Parola Gücü denetleyicisinin iyi bir örneğini bulmak için biraz araştırma yapıyordum. JavaScript ve Düzenli ifadeler (Normal ifade). İşimdeki uygulamada, şifre gücünü doğrulamak için bir gönderi yapıyoruz ve bu, kullanıcılarımız için oldukça elverişsiz.
Regex nedir?
Normal ifade, bir arama modelini tanımlayan bir karakter dizisidir. Genellikle, bu tür desenler dizi arama algoritmaları tarafından kullanılır. bulmak or bul ve Değiştir dizeler üzerinde işlemler veya girdi doğrulama için.
Bu makale kesinlikle size normal ifadeleri öğretmek için değildir. Metinde kalıp ararken, Normal İfadeleri kullanma yeteneğinin gelişiminizi kesinlikle kolaylaştıracağını bilin. Ayrıca, çoğu geliştirme dilinin düzenli ifade kullanımını optimize ettiğine dikkat etmek önemlidir… bu nedenle, dizeleri adım adım ayrıştırmak ve aramak yerine, Regex tipik olarak hem sunucu hem de istemci tarafında çok daha hızlıdır.
Bulmadan önce internette biraz aradım Örnek uzunluk, karakter ve sembollerin bir kombinasyonunu arayan bazı harika Normal İfadeler. Howver, kod benim zevkime göre biraz aşırıydı ve .NET için uyarlandı. Bu yüzden kodu basitleştirdim ve JavaScript'e koydum. Bu, parolayı geri göndermeden önce müşterinin tarayıcısında gerçek zamanlı olarak doğrulamasını sağlar… ve kullanıcıya parolanın gücü hakkında bazı geri bildirimler sağlar.
Bir şifre girin
Klavyenin her vuruşunda, parola normal ifadeye göre test edilir ve ardından kullanıcıya altındaki bir aralıkta geri bildirim sağlanır.
Şifreyi yaz
İşte Kod
The Düzenli ifadeler kodun uzunluğunu en aza indirmek için harika bir iş yapın:
- Daha fazla karakter - Uzunluk 8 karakterin altındaysa.
- Zayıf - Uzunluk 10 karakterden azsa ve semboller, büyük harfler, metin kombinasyonu içermiyorsa.
- Orta - Uzunluk 10 karakter veya daha fazlaysa ve semboller, büyük harfler, metin kombinasyonu varsa.
- Güçlü - Uzunluk 14 karakter veya daha fazlaysa ve semboller, büyük harfler, metin kombinasyonuna sahipse.
<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>
Şifre Talebinizi Sertleştirme
Javascript'inizde sadece şifre yapısını doğrulamamanız çok önemlidir. Bu, tarayıcı geliştirme araçlarına sahip herkesin komut dosyasını atlamasını ve istediği şifreyi kullanmasını sağlar. Parola gücünü platformunuzda saklamadan önce HER ZAMAN sunucu tarafı kontrolünden geçirmelisiniz.
Başka bir parola gücü denetleyicisi buldum. Kelime sözlüğüne dayalı algoritmaları. microsoft.com'da bir tane deneyin – http://www.microsoft.com/protect/yourself/password/checker.mspx ve bir tane itsimpl.com'da – http://www.itsimpl.com
TEŞEKKÜR EDERİM! TEŞEKKÜR EDERİM! TEŞEKKÜR EDERİM! 2 haftadır diğer web sitelerinden gelen lanet olası şifre gücü koduyla dalga geçiyor ve saçımı çekiyorum. Sizinki kısa, tam benim istediğim gibi çalışıyor ve hepsinden önemlisi, bir javascript acemi için değiştirmesi kolay! Güç kararını yakalamak ve güç testini karşılamadığı sürece formun gönderisinin kullanıcının şifresini gerçekten güncellemesine izin vermemek istedim. Diğer kişilerin kodu çok karmaşıktı veya doğru çalışmadı ya da başka bir şey. Seni seviyorum! XXXXX
Rica ederim! Rica ederim! Rica ederim!
Bende seni seviyorum!
gerçekten düzgün bir kod parçası yazabilen insanlar için tanrıya şükür.
Janis ile aynı deneyime sahipti.
Bu, benim gibi javascript kodlayamayan insanlar için mükemmel olan kutudan çıkar çıkmaz çalışır!
Kutuda ne yazıyorsa onu yapan bir kod parçası yazdığınız için teşekkür ederiz!
merhaba öncelikle emeğiniz için çok teşekkürler asp.net ile denedim ama olmadı
etiket yerine ve işe yaramadı, herhangi bir öneriniz var mı?!
Nisreen'e: vurgulanan kutudaki kod kes ve yapıştır ile çalışmıyor. Tek alıntı berbat. Gösteri bağlantısının kodu olsa iyi.
Hey, senaryonu beğendim! Hollandaca'ya çevirdim ve burada forumumda yayınladım!
iyi iş! istemcide tam olarak nasıl yapılması gerektiği
çok iyi iş….
Teşekkürler Douglas, şu anki işim için kullanıyorum.
"P@s$w0rD" güçlü görünüyor, ancak bir sözlük saldırısıyla oldukça hızlı bir şekilde kırılabilir…
Böyle bir özelliği profesyonel bir çözüme yerleştirmek için, bu algoritmayı bir sözlük kontrolü ile birleştirmenin önemli olduğuna inanıyorum.
XULRunner'da biraz değişiklik yaparak harika çalışıyor. Teşekkürler!
Bu küçük kod için teşekkürler, artık ziyaretçilerim şifrelerini girdiğinde şifremin gücünü test etmek için kullanabilirim.
Harika bir kodlama parçası
Senaryo süperdi.Şu anki projemizde kullanmıştım.
Paylaşım için teşekkürler!
Çok basit ve harika bir ifade. Ben bir test kullanıcısı olarak TC'lerimi bu ifadeden türettim.
Paylaşım için teşekkürler. Bu sayfada birkaç kırık bağlantınız var. Bilginize.
biri benimkinde neden çalışmadığını söyleyebilir mi?
tüm kodu kopyaladım ve notepad++ 'a yapıştırdım ama hiç çalışmıyor mu?
Bana yardım edin lütfen ..
Fantastik!!!!! Teşekkür ederim.
Harika iş adamım! Basit ve etkili. Paylaşım için çok teşekkürler!
teşekkür ederim
İyi, tşk. Ama… GÜÇLÜ bir pw örneği nedir? 'bir tane bulamıyorum!-{}
Bu tür "güç kontrol cihazı" insanları çok tehlikeli bir yola sokar. Parola uzunluğundan çok karakter çeşitliliğine değer verir ve daha kısa, daha çeşitli parolaları daha uzun ve daha az çeşitliliğe sahip parolalardan daha güçlü olarak değerlendirmesini sağlar. Bu, ciddi bir bilgisayar korsanlığı tehdidiyle karşı karşıya kalırlarsa, kullanıcılarınızın başını belaya sokacak bir yanılgıdır.
Ben katılmıyorum, Jordan! Örnek basitçe betiğin bir örneği olarak ortaya kondu. İnsanlara tavsiyem, kendisine özgü herhangi bir site için bağımsız parolalar oluşturmak için bir parola yönetim aracı kullanmaktır. Teşekkürler!
teşekkürler harika çalışıyor.
teşekkür ederim iyi çalışıyor
Bu kadar çok arandığınız için gerçekten minnettarım ama sonunda yazınızı aldım ve gerçekten şaşırdım. TEŞEKKÜR EDERİM
Teşekkürler dostum. Sadece web siteme yerleştirildi ve çok iyi çalışıyor.
Bunu duymayı seviyorum! Rica ederim!
paylaştığınız için minnettarım! Web sitemizdeki şifre gücünü artırmak istiyordum ve bu benim istediğim gibi çalıştı. Çok teşekkür ederim!
Teşekkürler, umarım gerektiği gibi özelleştirebilirsiniz.
Sen bir canlı kurtarıcısın! Sağ ve ortadaki dizeleri ayrıştırıyordum ve daha iyi bir yol olduğunu düşündüm ve Regex kullanarak kod parçanızı buldum. Sitem için onunla uğraşmayı başardım… Bunun ne kadar yardımcı olduğu hakkında hiçbir fikriniz yok. Çok teşekkürler Douglas!!
Duymak güzel!