Men foydalanadigan Parolni kuchaytirish tekshirgichining yaxshi namunasini topish bo'yicha tadqiqotlar olib bordim JavaScript va Muntazam iboralar (Regex). Mening ishimdagi dasturda biz parol kuchini tekshirish uchun post yuboramiz va bu foydalanuvchilarimiz uchun juda noqulay.
Regex nima?
Doimiy ifoda - bu izlash uslubini belgilaydigan belgilar ketma-ketligi. Odatda, bunday naqshlar uchun qatorlarni qidirish algoritmlari ishlatiladi topish or toping va almashtiring satrlarda yoki kiritishni tekshirish uchun operatsiyalar.
Ushbu maqola sizga doimiy so'z birikmalarini o'rgatishga qodir emas. Shuni bilingki, odatiy iboralardan foydalanish qobiliyati sizning matningizdagi naqshlarni qidirishda rivojlanishingizni mutlaqo soddalashtiradi. Shuni ham ta'kidlash kerakki, ko'pgina ishlab chiqish tillari muntazam ravishda ekspression foydalanishni optimallashtirdi ... shuning uchun satrlarni bosqichma-bosqich tahlil qilish va qidirishdan ko'ra, Regex odatda serverda ham, mijoz tomonidan ham tezroq ishlaydi.
Topishdan oldin veb-saytni biroz qidirdim bir misol uzunlik, belgilar va belgilarning kombinatsiyasini qidiradigan ba'zi bir ajoyib muntazam iboralardan. Qanday bo'lmasin, kod mening ta'mim uchun biroz haddan tashqari edi va .NET uchun moslashtirildi. Shuning uchun men kodni soddalashtirdim va JavaScript-ga joylashtirdim. Bu uni parolni qaytarib yuborishdan oldin uni mijozning brauzerida real vaqt rejimida tasdiqlaydi ... va foydalanuvchiga parolning kuchi to'g'risida ba'zi fikrlarni bildiradi.
Parolni kiriting
Klaviaturaning har bir zarbasi bilan parol odatdagi ifodaga nisbatan sinovdan o'tkaziladi va keyin uning ostidagi foydalanuvchiga fikr bildiriladi.
Parolni kiriting
Mana Kod
The Muntazam iboralar kodning uzunligini minimallashtirish bo'yicha ajoyib ishni bajaring:
- Boshqa belgilar - Agar uzunligi 8 belgidan kam bo'lsa.
- Zaif - Agar uzunligi 10 ta belgidan kam bo'lsa va unda ramzlar, bosh harflar, matn birikmasi bo'lmasa.
- o'rta - Agar uzunlik 10 ta yoki undan ortiq belgidan iborat bo'lsa va unda belgilar, bosh harflar, matnlar birikmasi bo'lsa.
- kuchli - Agar uzunlik 14 ta va undan ortiq belgidan iborat bo'lsa va unda belgilar, bosh harflar, matnlar birikmasi bo'lsa.
<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>
Parol so'rovini qattiqlashtirish
Javascriptingizda parolni yaratishni tasdiqlashingiz shart emas. Bu brauzerni ishlab chiqish vositalariga ega bo'lgan har bir kishiga skriptni chetlab o'tishi va xohlagan paroldan foydalanishi mumkin. O'zingizning platformangizda saqlashdan oldin har doim parol kuchini tekshirish uchun server tomonidan tekshiruvdan foydalanishingiz kerak.
Men yana bir parol kuchini tekshiruvchilar topdim. So'zlar lug'atiga asoslangan ularning algoritmi. Microsoft.com saytidan birini sinab ko'ring - http://www.microsoft.com/protect/yourself/password/checker.mspx va itsimpl.com saytida - http://www.itsimpl.com
RAHMAT! RAHMAT! RAHMAT! Men boshqa veb-saytlardan parolni kuchaytirish kodi bilan ikki hafta davomida aldanib, sochimni tortib oldim. Qisqasi qisqa, men xohlaganimdek ishlaydi va eng muhimi, javascript yangi boshlovchisi o'zgartirishi oson! Men kuchga oid qarorni qabul qilmoqchi edim va agar forma posti foydalanuvchi parolini kuchliligi testiga to'g'ri kelmasa, uni haqiqatan ham yangilashiga yo'l qo'ymasligim kerak edi. Boshqalarning kodi juda murakkab edi yoki to'g'ri ishlamadi yoki boshqa biron bir narsa. Men seni Sevaman! XXXXX
Salomat bo'ling! Salomat bo'ling! Salomat bo'ling!
Men ham seni sevaman!
aslida bir parcha kodni to'g'ri yoza oladigan odamlar uchun xudoga shukur.
Janis singari tajribaga ega edi.
Bu javascript kodini ololmaydigan men kabi odamlar uchun juda mos bo'lgan qutidan tashqarida ishlaydi!
Qog'ozda aytilganlarini to'liq bajaradigan kodni yozganingiz uchun tashakkur!
Assalomu alaykum, birinchi navbatda ur harakatlari uchun katta rahmat, men buni Asp.net bilan ishlatishga harakat qildim, lekin ishlamadi, foydalanayapman
tag o'rniga, va u ishlamadi, biron bir taklif ?!
Nisreen-ga: ajratilgan katakchadagi kod kesilgan pasta bilan ishlamaydi. Bitta kotirovka buzilgan. Namoyish havolasining kodi yaxshi.
Hey, menga senariying yoqadi! Men uni golland tiliga tarjima qildim va bu erda forumimga joylashtirdim!
ajoyib ish! mijozda qanday qilib aniq amalga oshirilishi kerak
juda yaxshi ish….
Duglasga rahmat, men uni hozirgi ishim uchun ishlataman.
"P @ s $ w0rD" kuchli ko'rinishga ega, garchi u lug'at hujumi bilan juda tez yorilib ketsa ham ...
Bunday xususiyatni professional echimga joylashtirish uchun ushbu algoritmni lug'at tekshiruvi bilan birlashtirish muhim deb o'ylayman.
XULRunner-da atrofni biroz o'zgartirib, juda yaxshi ishlaydi. Rahmat!
Ushbu kichik kod uchun rahmat, endi tashrif buyuruvchilar o'zlarining parollarini kiritganda parol kuchini sinab ko'rish uchun uni ishlata olaman,
Kodlashning ajoyib qismi
Ssenariy juda zo'r edi .Men hozirgi loyihamizda ishlatgan edim
Ulashish uchun rahmat!
Juda sodda va hayoliy ifoda. Men tester sifatida ushbu iboradan o'zimning shaxsiy kompyuterlarimni oldim.
Baham ko'rganingiz uchun tashakkur. Ushbu sahifada sizda bir nechta buzilgan havolalar mavjud. Ma'lumot
kimdir aytishi mumkin, nima uchun bu meniki ishlamadi ..
men barcha kodlarni nusxa ko'chirdim va uni bloknot ++ ga joylashtirdim, lekin u umuman ishlamayaptimi?
Iltimos, menga yordam bering..
Fantastik !!!!! Rahmat.
Zo'r ish yigiti! Oddiy va samarali. Baham ko'rganingiz uchun katta rahmat!
rahmat
Yaxshi, thx. Ammo ... Kuchli pwning misoli nima? topolmayapman! - {}
Ushbu turdagi "kuch tekshiruvchisi" odamlarni juda xavfli yo'lga olib boradi. Bu parol uzunligiga nisbatan belgi xilma-xilligini qadrlaydi, shuning uchun u qisqa va xilma-xil parollarni uzunroq va kamroq parollarga qaraganda kuchliroq qilib baholaydi. Bu sizning foydalanuvchilaringizni jiddiy xakerlik tahdidiga duch kelganda muammoga olib keladigan xato.
Men rozi emasman, Iordaniya! Ushbu misol oddiygina ssenariyga misol sifatida keltirildi. Odamlar uchun mening tavsiyam shuki, o'ziga xos bo'lgan har qanday sayt uchun mustaqil parollarni yaratish uchun parolni boshqarish vositasidan foydalanish. Rahmat!
rahmat bu juda yaxshi ishlaydi.
Rahmat, u yaxshi ishlaydi
sizni juda ko'p marta qidirishgani uchun juda minnatdorman, lekin nihoyat men sizning lavozimingizni oldim va juda xursand bo'ldim. RAHMAT
Rahmat turmush o'rtog'im. Faqat mening veb-saytimda joylashtirilgan va u juda yaxshi ishlamoqda.
Buni eshitishni yaxshi ko'raman! Sizga xush kelibsiz!
Siz bilan baham ko'rganingiz uchun minnatdorman! Bizning veb-saytimizda parol kuchini oshirishni qidiryapsizmi va bu men xohlagan tarzda ishladi. Sizga katta rahmat!
Rahmat, umid qilamanki uni kerakli darajada sozlashingiz mumkin.