Нууц үгийн хүч чадал шалгагчийг ашигладаг жишээг олох талаар судалгаа хийж байсан JavaScript болон Тогтмол илэрхийлэл (Regex). Миний ажилд байгаа аппликешнд бид нууц үгийн хүчийг баталгаажуулахын тулд буцааж бичлэг хийдэг бөгөөд энэ нь хэрэглэгчиддээ тохиромжгүй байдаг.
Режекс гэж юу вэ?
Тогтмол илэрхийлэл бол хайлтын хэв маягийг тодорхойлдог тэмдэгтүүдийн дараалал юм. Ихэнхдээ ийм загварыг мөр хайх алгоритмаар ашигладаг олох or олох, солих мөрүүд эсвэл оролтыг баталгаажуулах үйлдлүүд.
Энэ нийтлэл нь танд тогтмол хэллэг заахгүй нь дамжиггүй. Текстийн хэв маягийг хайж байхдаа ердийн илэрхийлэл ашиглах чадвар нь таны хөгжлийг туйлын хялбаршуулах болно гэдгийг л мэдэж аваарай. Ихэнх хөгжүүлэлтийн хэл нь экспрессын тогтмол хэрэглээг оновчтой болгосон гэдгийг тэмдэглэх нь чухал юм ... Тиймээс мөрүүдийг алхам алхамаар задлан хайхаас илүүтэйгээр Regex нь сервер болон үйлчлүүлэгчдийн аль алинд нь илүү хурдан ажилладаг.
Би олдохоосоо өмнө нэтээс бага зэрэг хайсан жишээ Урт, тэмдэгт, тэмдгийн хослолыг хайж олох гайхалтай тогтмол илэрхийллүүдийн нэг. Гэсэн хэдий ч код нь миний амтанд бага зэрэг хэтэрч, .NET-д тохирсон байсан. Тиймээс би кодыг хялбаршуулж, JavaScript дээр суулгасан. Энэ нь нууц үгийн хүчийг буцааж байршуулахаас өмнө үйлчлүүлэгчийн хөтөч дээр бодит цаг хугацаанд баталгаажуулж, хэрэглэгчид нууц үгийн хүч чадлын талаар зарим санал хүсэлтийг өгдөг.
Нууц үгээ оруулна уу
Гарны цохилт бүрт нууц үгийг ердийн илэрхийллийн дагуу шалгаж, дараа нь хэрэглэгчдэд хариу өгөх болно.
Нууц үгээ оруулна уу
Энд код байна
The Тогтмол илэрхийлэл кодын уртыг багасгах гайхалтай ажил хий:
- Бусад дүрүүд - Хэрэв урт нь 8 тэмдэгтээс бага байвал.
- Сул - Хэрэв урт нь 10 тэмдэгтээс бага байвал тэмдэг, толгой, текстийн хослол агуулаагүй бол.
- Дунд - Хэрэв урт нь 10 ба түүнээс дээш тэмдэгт байвал тэмдэг, толгой, текстийн хослолтой байна.
- Хүчтэй - Хэрэв урт нь 14 ба түүнээс дээш тэмдэгт байвал тэмдэг, том үсэг, текстийн хослолтой байна.
<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>
Нууц үгийнхээ хүсэлтийг хатууруулах
Та зөвхөн Javascript дотор нууц үгийн бүтцийг баталгаажуулахгүй байх нь чухал юм. Энэ нь хөтөч боловсруулах хэрэгсэлтэй хүмүүст скриптийг тойрч гарах, хүссэн нууц үгээ ашиглах боломжийг олгоно. Та платформдоо хадгалахаасаа өмнө нууц үгийн хүчийг баталгаажуулахын тулд үргэлж сервер талын шалгалтыг ашиглах хэрэгтэй.
Би өөр нууц үгийн шалгагч олов. Үгсийн толь бичигт суурилсан тэдгээрийн алгоритм. Microsoft.com дээрээс нэгийг үзээрэй - http://www.microsoft.com/protect/yourself/password/checker.mspx itsimpl.com дээр нэг нь - http://www.itsimpl.com
БАЯРЛАЛАА! БАЯРЛАЛАА! БАЯРЛАЛАА! Би бусад вэбсайтуудын хараал идсэн нууц үгийн кодыг ашиглан 2 долоо хоногийн турш хууран мэхэлж, үсээ зулгааж байна. Таных богино, миний хүссэнээр ажилладаг, хамгийн сайн нь javascript шинэхэн хүн өөрчлөхөд хялбар! Би хүч чадлын талаархи шийдвэрийг авахыг хүсч, хүч чадлын тестийг хангаагүй тохиолдолд хэрэглэгчийн нууц үгийг бодитоор шинэчлэхийн тулд маягтын бичлэгийг зөвшөөрөхгүй байхыг хүссэн. Бусдын код хэтэрхий төвөгтэй байсан эсвэл зөв ажиллахгүй байсан эсвэл өөр зүйл байсан. Би чамд хайртай! ХХХХ
Та тавтай морилно уу! Та тавтай морилно уу! Та тавтай морилно уу!
Би ч бас чамд хайртай!
кодыг үнэн зөв бичиж чаддаг хүмүүст бурханд талархаж байна.
Жанистай адил туршлагатай байсан.
Энэ нь javascript-ийг кодчилдоггүй над шиг хүмүүст тохиромжтой хайрцагнаас шууд гарч ирдэг!
Лаазанд яг юу хэлснийг яг таг хийдэг код бичсэнд баярлалаа!
Сайн уу, юуны түрүүнд хүчин чармайлт гаргасанд маш их баярлалаа, би үүнийг Asp.net-тэй ашиглахыг хичээсэн боловч ажиллахгүй байна, би ашиглаж байна
оронд нь шошго, гэхдээ энэ нь ажиллахгүй байна, ямар ч санал байна уу ?!
Nisreen-д: тодруулсан хайрцагт байгаа код нь cut'n'paste-тэй ажиллахгүй. Ганц ишлэлийг будлиантуулсан байна. Жагсаалын холбоосын код сайн байна.
Хөөе, чиний зохиол надад таалагдаж байна! Би үүнийг голланд хэл рүү хөрвүүлж, форум дээрээ энд байрлуулсан!
сайн ажил! үйлчлүүлэгч дээр яг яаж хийх ёстойг
маш сайхан ажил….
Дугласад баярлалаа, би үүнийг одоогийн ажилдаа ашигладаг.
“P @ s $ w0rD” нь хүчтэй харагдаж байна, гэхдээ толь бичгийн довтолгооноор нэлээд хурдан хагарах болно ...
Ийм шинж чанарыг мэргэжлийн шийдэлд ашиглахын тулд энэ алгоритмыг толь бичгийн шалгалттай хослуулах нь чухал гэж би үзэж байна.
XULRunner дээр бага зэрэг өөрчлөгдөж гайхалтай ажилладаг. Баярлалаа!
Энэ бяцхан кодод баярлалаа, зочид маань нууц үгээ оруулахад нууц үгийн хүчийг шалгахын тулд үүнийг ашиглаж болно.
Маш сайн кодчилол
Скрипт нь супер байсан .Би одоогийн төсөлдөө ашиглаж байсан
Хуваалцсанд баярлалаа!
Маш энгийн бөгөөд гайхалтай илэрхийлэл. Би шалгагч хүний хувьд энэ илэрхийллээс ТС-уудээ гаргаж авсан.
Хуваалцсанд баярлалаа. Энэ хуудсан дээр танд цөөн хэдэн эвдэрсэн холбоос байна. Мэдээлэл.
яагаад минийх ажиллаагүй юм гэж хэн нэгэн хэлж чадах уу?
би бүх кодыг хуулж аваад notepad ++ дээр буулгасан боловч огт ажиллахгүй байна уу?
надад туслаач..
Гайхамшигтай !!!!! Баярлалаа.
Гайхалтай ажил хэрэгч залуу! Энгийн бөгөөд үр дүнтэй. Хуваалцсанд маш их баярлалаа!
баярлалаа
Сайн байна. Гэхдээ ... ХҮЧТЭЙ pw-ийн жишээ юу вэ? 'олохгүй байна! - {}
Энэ төрлийн "хүч шалгагч" нь хүмүүсийг маш аюултай зам руу хөтөлдөг. Энэ нь нэвтрэх үгийн уртаас илүү зан чанарын олон янз байдлыг үнэлдэг тул богино, илүү олон төрлийн нууц үгийг урт, бага нууц үгээс илүү хүчтэй гэж үнэлдэг. Энэ нь таны хэрэглэгчид хэзээ нэгэн цагт хакердах ноцтой аюул заналхийлэлд өртвөл асуудалд орох болно.
Би санал зөрж байна, Жордан! Жишээг зүгээр л скриптийн жишээ болгон гаргав. Хүмүүст өгөх зөвлөмж бол аливаа сайтад өвөрмөц, нэвтрэх үг хэллэг үүсгэх нууц үгийн менежментийн хэрэгслийг ашиглах явдал юм. Баярлалаа!
баярлалаа, энэ нь маш сайн ажилладаг.
Сайн ажиллаж байгаад нь баярлалаа
Таныг олон удаа хайж байгаад үнэхээр их талархаж байна, гэхдээ хамгийн сүүлд би чиний бичлэгийг аваад үнэхээр их сэтгэл хөдөлсөн. БАЯРЛАЛАА
Баярлалаа ханиа. Зүгээр л миний вэбсайт дээр байрлуулсан бөгөөд энэ нь маш сайн ажиллаж байна.
Үүнийг сонсох дуртай! Та бүхнийг тавтай морилно уу!
Таныг хуваалцаж байгаад талархаж байна! Манай вэбсайт дахь нууц үгийн хүчийг сайжруулахыг хүсч байсан бөгөөд энэ нь миний хүссэнээр ажилласан. Маш их баярлалаа!
Баярлалаа, шаардлагатай бол үүнийг өөрчилж чадна гэж найдаж байна.
Та бол амьд хадгалагч юм! Би баруун, зүүн талын мөрүүдийг задлан шинжилж байгаад илүү сайн арга байна гэж бодоод Regex ашиглан таны кодыг оллоо. Миний сайтад зориулж үүнийг ашиглаж чадсан уу ... Энэ нь хичнээн их тус болсныг та огт мэдэхгүй байна. Маш их баярлалаа Дуглас !!
Сонсоход сайхан байна!