Es veicu dažus pētījumus, lai atrastu labu piemēru paroles stipruma pārbaudītājam, kas izmanto JavaScript un Regulāras izteiksmes (Regex). Manā darbā esošajā lietojumprogrammā mēs veicam ziņojumu atpakaļ, lai pārbaudītu paroles stiprumu, un tas ir diezgan neērti mūsu lietotājiem.
Kas ir Regex?
Regulārā izteiksme ir rakstzīmju secība, kas nosaka meklēšanas modeli. Parasti šādus modeļus izmanto virkņu meklēšanas algoritmi atrast or atrast un aizstāt operācijas ar virknēm vai ievades validācijai.
Šis raksts noteikti nav paredzēts, lai iemācītu jums regulāras izteiksmes. Vienkārši ziniet, ka spēja izmantot regulārās izteiksmes absolūti vienkāršos jūsu attīstību, meklējot rakstus tekstā. Ir arī svarīgi atzīmēt, ka lielākā daļa izstrādes valodu ir optimizējušas regulāru izteiksmju lietošanu ... tāpēc, nevis pakāpeniski parsējot un meklējot virknes, Regex parasti ir daudz ātrāks gan servera, gan klienta pusē.
Pirms atradu, es diezgan daudz meklēju tīmeklī piemērs no dažām lieliskām parastajām izteiksmēm, kas meklē garuma, rakstzīmju un simbolu kombināciju. Tomēr kods manai gaumei bija nedaudz pārmērīgs un pielāgots .NET. Tāpēc es vienkāršoju kodu un ievietoju to JavaScript. Tas ļauj reāllaikā pārbaudīt paroles stiprumu klienta pārlūkprogrammā, pirms to ievietot atpakaļ ... un sniedz lietotājam dažas atsauksmes par paroles stiprumu.
Ievadiet A paroli
Ar katru tastatūras taustiĦu parole tiek pārbaudīta salīdzinājumā ar parasto izteiksmi, un pēc tam lietotājam tiek sniegta atgriezeniskā saite zem tās.
Ievadiet paroli
Šeit ir kodekss
Jūsu darbs IR Klientu apkalpošana Regulāras izteiksmes veiciet fantastisku darbu, samazinot koda garumu:
- Vairāk rakstzīmju - Ja garums ir mazāks par 8 rakstzīmēm.
- Vājš - Ja garums ir mazāks par 10 rakstzīmēm un nesatur simbolu, vāciņu, teksta kombināciju.
- vidējs - ja garums ir 10 vai vairāk rakstzīmes un tajā ir simbolu, vāciņu, teksta kombinācija.
- Spēcīgs - Ja garums ir 14 vai vairāk rakstzīmes un tajā ir simboli, vāciņi, teksts.
<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>
Paroles pieprasījuma rūdīšana
Ir svarīgi, lai jūs ne tikai apstiprinātu paroles izstrādi savā Javascript. Tas ļautu ikvienam, kam ir pārlūkprogrammas izstrādes rīki, apiet skriptu un izmantot jebkuru vēlamo paroli. Pirms paroles saglabāšanas savā platformā, VIENMĒR jāizmanto servera puses pārbaude, lai pārbaudītu paroles stiprumu.
Es atradu vēl vienu paroles stipruma pārbaudītāju. Viņu algoritms balstās uz vārdu vārdnīcu. Izmēģiniet to vietnē microsoft.com - http://www.microsoft.com/protect/yourself/password/checker.mspx un viens vietnē itsimpl.com - http://www.itsimpl.com
PALDIES! PALDIES! PALDIES! Es jau 2 nedēļas blēņājos ar sasodītu paroles stiprības kodu no citām vietnēm un izvelku matus. Tavs ir īss, darbojas tieši tāpat kā es vēlos, un pats labākais, ja Javascript iesācējs to viegli modificē! Es gribēju uztvert spriedumu par spēku un neļaut veidlapai izlikt patiesu lietotāja paroles atjaunināšanu, ja vien tā nav izturējusi izturības pārbaudi. Citu cilvēku kods bija pārāk sarežģīts vai nedarbojās pareizi vai kaut kas cits. Es mīlu Tevi! XXXXX
Nav par ko! Nav par ko! Nav par ko!
ES arī tevi mīlu!
paldies dievam par cilvēkiem, kuri faktiski var pareizi uzrakstīt koda fragmentu.
Viņam bija tāda pati pieredze kā Janim.
Tas darbojas uzreiz no kastes, kas ir ideāli piemērots tādiem cilvēkiem kā es, kuri nevar kodu javascript!
Paldies, ka uzrakstījāt koda fragmentu, kas dara tieši to, kas teikts uz kārbas!
Sveiki, pirmkārt, daudz par jūsu centieniem, es centos to izmantot ar Asp.net, taču nedarbojos, es izmantoju
tagu vietā, un tas nedarbojās, kādi ieteikumi ?!
Nisreen: iezīmētajā lodziņā esošais kods nedarbojas ar izgrieztu pastas ielīmēšanu. Vienīgais citāts ir sajaukts. Demonstrācijas saites kods tomēr ir kārtībā.
Hei, man patīk tavs scenārijs! Es to pārtulkoju holandiešu valodā, un es to ievietoju šeit savā forumā!
lielisks darbs! tieši kā tas jādara klientam
ļoti jauks darbs ...
Paldies Duglasam, es to izmantoju savam pašreizējam darbam.
“P @ s $ w0rD” ir spēcīgs, lai gan ar vārdnīcas uzbrukumu tas tiktu uzlauzts diezgan ātri ...
Lai šādu funkciju izmantotu profesionālā risinājumā, es uzskatu, ka ir svarīgi apvienot šo algoritmu ar vārdnīcas pārbaudi.
Lieliski darbojas XULRunner, nedaudz mainot apkārtni. Paldies!
Paldies par šo mazo kodu, ko tagad varu izmantot, lai pārbaudītu paroles izturību, kad mani apmeklētāji ievada savas paroles,
Lielisks kodēšanas gabals
Skripts bija super. Es to izmantoju mūsu pašreizējā projektā
Paldies par dalīšanos!
Tik vienkārša un fantastiska izteiksme. Es kā testētājs no šīs izteiksmes atvasināju savus TC.
Paldies, ka dalījies. Šajā lapā jums ir dažas bojātas saites. FYI.
vai kāds var pateikt, kāpēc tas man nedarbojās ..
es nokopēju visu kodu un ielīmēju to notepad ++, bet tas vispār nedarbojas?
Lūdzu palīdzi man..
Fantastiski !!!!! Paldies.
Lielisks puisis! Vienkārši un efektīvi. Liels paldies par dalīšanos!
paldies
Labi, thx. Bet ... Kāds ir STRONG pw piemērs? 'nevaru tādu atrast! - {}
Šāda veida “spēka pārbaudītājs” ved cilvēkus pa ļoti bīstamu ceļu. Tas vērtē rakstzīmju daudzveidību paroles frāzes garumā, liekot īsākas, daudzveidīgākas paroles vērtēt kā spēcīgākas nekā garākas, mazāk dažādas. Tā ir maldība, kas radīs jūsu lietotājiem nepatikšanas, ja viņi kādreiz saskarsies ar nopietniem uzlaušanas draudiem.
Es nepiekrītu, Džordan! Piemērs tika vienkārši izlikts kā skripta piemērs. Mans ieteikums cilvēkiem ir izmantot paroļu pārvaldības rīku, lai izveidotu neatkarīgas paroles jebkurai vietnei, kas ir unikāla tikai tai. Paldies!
paldies, ka tas darbojas lieliski.
Paldies u tā darba kārtībā
Es patiešām novērtēju, ka jūs tikāt meklēts daudzas reizes, bet visbeidzot es saņēmu jūsu ziņu un esmu patiesi sajūsmināts. PALDIES
Paldies, draugs. Tikko izvietots manā vietnē, un tas darbojas ļoti labi.
Patīk to dzirdēt! Tu esi laipni aicināts!
Es novērtēju, ka dalāties! Esat mēģinājis palielināt paroles stiprumu mūsu vietnē, un šis strādāja tā, kā es gribēju. Liels tev paldies!
Paldies, ceru, ka spēsiet to pielāgot pēc vajadzības.
Jūs esat tiešraides taupītājs! Es analizēju virknes pa kreisi pa labi un centrā, un domāju, ka ir labāks veids, un atradu jūsu koda fragmentu, izmantojot Regex. Varēju to izlobīt manai vietnei ... Jūs nezināt, cik tas palīdzēja. Liels paldies Douglas !!
Lieliski dzirdēt!