Uurisin, kuidas leida hea näide paroolitugevuse kontrollerist, mis seda kasutab JavaScript ja Regulaaravaldised (Regex). Minu töös olevas rakenduses teeme parooli tugevuse kontrollimiseks postituse tagasi ja see on meie kasutajatele üsna ebamugav.
Mis on Regex?
Tavaväljend on tähemärkide jada, mis määrab otsingumustri. Tavaliselt kasutavad selliseid mustreid stringide otsimise algoritmid leidma or leida ja asendada stringidega toimingud või sisendi valideerimine.
See artikkel ei ole kindlasti teile regulaaravaldiste õpetamiseks. Lihtsalt teadke, et regulaaravaldiste kasutamise oskus lihtsustab teie arengut tekstis mustrite otsimisel. Samuti on oluline märkida, et enamikus arenduskeeltes on optimeeritud regulaaravaldiste kasutamine ... nii et stringide järkjärgulise sõelumise ja otsimise asemel on Regex tavaliselt palju kiirem nii serveri kui ka kliendi poolel.
Otsisin enne leidmist üsna palju veebist Näiteks mõnest suurepärasest regulaaravaldisest, mis otsivad pikkuse, tähemärkide ja sümbolite kombinatsiooni. Howver, kood oli minu maitse jaoks veidi liigne ja kohandatud .NET-i jaoks. Nii et lihtsustasin koodi ja panin selle JavaScripti. See muudab parooli tugevuse reaalajas kliendi brauseris enne selle tagasi postitamist kinnitama ... ja annab kasutajale parooli tugevuse kohta tagasisidet.
Sisestage A parool
Iga klaviatuuri käiguga testitakse parooli regulaaravaldise suhtes ja tagastatakse kasutajale tagasiside selle all.
Sisestage parool
Siin on koodeks
. Regulaaravaldised tee fantastilist tööd koodi pikkuse minimeerimiseks:
- Rohkem tegelasi - kui pikkus on alla 8 tähemärgi.
- nõrk - Kui pikkus on alla 10 tähemärgi ja see ei sisalda sümbolite, suurtähtede, teksti kombinatsiooni.
- Keskmine - kui pikkus on 10 või enam tähemärki ja sellel on sümbolite, suurtähtede, teksti kombinatsioon.
- Tugev - Kui pikkus on vähemalt 14 tähemärki ja sellel on sümbolite, suurtähtede, teksti kombinatsioon.
<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>
Paroolitaotluse karastamine
On hädavajalik, et te ei kinnitaks oma parooli koostamist ainult oma Javascriptis. See võimaldaks kõigil, kellel on brauseri arendustööriistad, skriptist mööda minna ja kasutada parooli, mida nad soovivad. Enne parooli oma platvormile salvestamist peaksite parooli tugevuse kinnitamiseks ALATI kasutama serveripoolset kontrolli.
Leidsin veel ühe parooli tugevuse kontrollija. Nende algoritm põhineb sõnade sõnastikul. Proovige seda saidil microsoft.com - http://www.microsoft.com/protect/yourself/password/checker.mspx ja üks aadressil itsimpl.com - http://www.itsimpl.com
AITÄH! AITÄH! AITÄH! Olen juba 2 nädalat lollinud teiste veebisaitide neetud paroolitugevuse koodiga ja tõmmanud juuksed välja. Teie oma on lühike, töötab täpselt nii, nagu mina tahan ja mis kõige parem - JavaScripti algajal on seda lihtne muuta! Tahtsin jäädvustada tugevuse kohtuotsuse ja mitte lasta vormil postitada, et kasutaja parooli tegelikult värskendada, kui see ei vasta tugevuskatsele. Teiste inimeste kood oli liiga keeruline või ei töötanud õigesti või midagi muud. Ma armastan sind! XXXXX
Tere tulemast! Tere tulemast! Tere tulemast!
Ma armastan sind ka!
jumal tänatud inimeste eest, kes suudavad reaalselt koodijupi korralikult kirjutada.
Mul oli sama kogemus kui Janisel.
See töötab kohe karbist välja, mis sobib ideaalselt minusugustele inimestele, kes ei saa JavaScripti koodi kinnitada!
Täname, et kirjutasite koodijupi, mis teeb täpselt seda, mis purgil kirjas!
Tere, esiteks aitäh palju teie pingutuste eest, proovisin seda kasutada Asp.net-iga, kuid ei töötanud, ma kasutan
sildi asemel ja see ei töötanud, mingeid ettepanekuid ?!
Nisreenile: esile tõstetud kasti kood ei tööta lõikega pastad. Üksik tsitaat on sassi aetud. Näidislingi kood on siiski korras.
Hei, mulle meeldib su stsenaarium! Tõlkisin selle hollandi keelde ja postitasin selle oma siia foorumisse!
suurepärane töö! täpselt, kuidas seda tuleks kliendi peal teha
väga tore töö ...
Aitäh Douglas, ma kasutan seda oma praeguse töö jaoks.
"P @ s $ w0rD" näitab tugevat tugevust, kuigi see oleks sõnaraamaturünnakuga üsna kiiresti purustatud ...
Sellise funktsiooni kasutamiseks professionaalses lahenduses on minu arvates oluline see algoritm kombineerida sõnastiku kontrolliga.
Toimib suurepäraselt rakenduses XULRunner, kus on vähe muudatusi. Aitäh!
Täname selle väikese koodi eest. Nüüd saan seda kasutada oma parooli tugevuse testimiseks, kui külastajad sisestavad oma paroolid,
Suurepärane kodeering
Skript oli super. Olin seda kasutanud meie praeguses projektis
Täname, et jagada!
Nii lihtne ja fantastiline väljend. Mina kui testija tuletasin sellest väljendist oma TC-d.
Täname jagamast. Sellel lehel on teil mõni katkine link. FYI.
kas keegi oskab öelda, miks see minu jaoks ei töötanud ..
kopeerisin kogu koodi ja kleepisin selle notepad ++, kuid see ei tööta üldse?
Palun aita mind..
Fantastiline !!!!! Aitäh.
Suurepärane töö tüüp! Lihtne ja tõhus. Suur aitäh jagamise eest!
aitäh
Hea, thx. Aga ... Mis on näide TUGEVAST pw-st? 'ei leia seda! - {}
Seda tüüpi “jõukontroll” viib inimesed väga ohtlikule teele. See väärtustab tähemärkide mitmekesisust paroolifraasi pikkuses, mille tulemusel hinnatakse lühemaid, mitmekesisemaid paroole tugevamateks kui pikemaid, vähem erinevaid paroole. See on eksitus, mis ajab teie kasutajad hätta, kui neil on kunagi tõsine häkkimise oht.
Ma ei ole nõus, Jordan! Näide pandi lihtsalt skripti näitena. Minu soovitus inimestele on kasutada paroolihalduse tööriista, et luua igale saidile ainulaadsed paroolid. Aitäh!
aitäh, see töötab suurepäraselt.
Tänan, et see töötab hästi
Ma tõesti hindan, et teid on seda mitu korda otsitud, kuid lõpuks sain ma teie postituse ja olen väga vaimustuses. AITÄH
Tänud tüürimees. Lihtsalt minu veebisaidil juurutatud ja see töötab väga hästi.
Armastan seda kuulda! Sa oled väga teretulnud!