Teknoloġija EmerġentiEmail Marketing & Email Marketing Automation

Iċċekkja l-Qawwa tal-Password bi JavaScript u Espressjonijiet Regolari

Jien kont qed nagħmel xi riċerka biex insib eżempju tajjeb ta 'kontrollur tal-Qawwa tal-Password li juża JavaScript u Espressjonijiet Regolari (Regex). Fl-applikazzjoni fuq ix-xogħol tiegħi, nagħmlu post lura biex nivverifikaw is-saħħa tal-password u huwa pjuttost inkonvenjenti għall-utenti tagħna.

X'inhu Regex?

Espressjoni regolari hija sekwenza ta 'karattri li jiddefinixxu mudell ta' tfittxija. Normalment, mudelli bħal dawn jintużaw minn algoritmi ta 'tiftix ta' spag għal isibu or sib u ibdel operazzjonijiet fuq kordi, jew għall-validazzjoni tal-input. 

Dan l-artikolu żgur mhux biex jgħallmek espressjonijiet regolari. Kun af biss li l-abbiltà li tuża Espressjonijiet Regolari tissimplifika assolutament l-iżvilupp tiegħek waqt li tfittex mudelli fit-test. Huwa wkoll importanti li wieħed jinnota li l-biċċa l-kbira tal-lingwi tal-iżvilupp ottimizzaw l-użu tal-espressjoni regolari ... għalhekk aktar milli jqassmu u jfittxu kordi pass pass, Regex huwa tipikament ħafna aktar mgħaġġel kemm min-naħa tas-server kif ukoll min-naħa tal-klijent.

Fittixt il-web pjuttost ftit qabel ma sibt eżempju ta 'xi Espressjonijiet Regolari kbar li jfittxu taħlita ta' tul, karattri, u simboli. Madankollu, il-kodiċi kien ftit eċċessiv għat-togħma tiegħi u mfassal għal .NET. Allura ssimplifikajt il-kodiċi u poġġih fil-JavaScript. Dan jagħmilha tivvalida s-saħħa tal-password f'ħin reali fuq il-browser tal-klijent qabel ma tibgħatha lura ... u tipprovdi xi feedback lill-utent dwar is-saħħa tal-password.

Ittajpja Password

Ma 'kull puplesija tat-tastiera, il-password tiġi ttestjata kontra l-espressjoni regolari u mbagħad jingħata feedback lill-utent f'firxa taħtha.




Ittajpja Password

Hawn il-Kodiċi

il Espressjonijiet Regolari tagħmel xogħol meraviljuż li tnaqqas it-tul tal-kodiċi:

  • Aktar karattri - Jekk it-tul huwa taħt it-8 karattri.
  • Dgħajfa - Jekk it-tul huwa inqas minn 10 karattri u ma fihx taħlita ta 'simboli, brieret, test.
  • Medji - Jekk it-tul huwa ta '10 karattri jew aktar u għandu taħlita ta' simboli, brieret, test.
  • Qawwija - Jekk it-tul huwa ta '14-il karattru jew aktar u għandu taħlita ta' simboli, brieret, test.

<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>

Tebba t-Talba tal-Password Tiegħek

Huwa essenzjali li ma tivvalidax biss il-kostruzzjoni tal-password fil-Javascript tiegħek. Dan jippermetti lil kull min għandu għodda għall-iżvilupp tal-brawżers biex jevita l-iskript u juża kwalunkwe password li jixtieq. Għandek DEJJEM tuża verifika min-naħa tas-server biex tivvalida l-qawwa tal-password qabel ma taħżinha fil-pjattaforma tiegħek.

Douglas Karr

Douglas Karr huwa l - fundatur tal - Martech Zone u espert rikonoxxut dwar it-trasformazzjoni diġitali. Doug huwa Kelliem Pubbliku Ewlieni u tal-Marketing. Huwa l-VP u l-kofundatur ta ' Highbridge, ditta li tispeċjalizza fl-għajnuna lill-kumpaniji tal-intrapriżi biex jittrasformaw u jimmassimizzaw b'mod diġitali l-investiment fit-teknoloġija tagħhom billi jużaw teknoloġiji tal-Salesforce. Huwa żviluppa strateġiji ta 'kummerċ diġitali u prodott għal Teknoloġiji Dell, GoDaddy, Salesforce, Webtrends, u SmartFOCUS. Douglas huwa wkoll l-awtur ta ' Blogging Korporattiv għall-Manikini u ko-awtur ta ' Il-Ktieb tan-Negozju Aħjar.

Artikli relatati

33 Kummenti

  1. GRAZZI! GRAZZI! GRAZZI! Stajt qed iqarraq għal ġimagħtejn b'kodiċi tas-saħħa tal-password kkritikat minn websajts oħra u niġbdu xagħri. Tiegħek huwa qasir, jaħdem bħalma nixtieq u l-aħjar minn kollox, faċli għal novizzi tal-javascript biex jimmodifika! Xtaqt naqbad il-verdett tas-saħħa u ma nħallix li l-formola tpoġġi fil-fatt taġġorna l-password tal-utent sakemm ma tkunx issodisfat it-test tas-saħħa. Il-kodiċi ta 'nies oħra kien ikkumplikat wisq jew ma kienx jaħdem sew jew xi ħaġa oħra. Inħobbok! XXXXX

  2. "P@s$w0rD" turi b'saħħtu, għalkemm ikun imxaqqaq pjuttost malajr b'attakk ta' dizzjunarju...
    Biex tuża tali karatteristika fuq soluzzjoni professjonali, nemmen li huwa importanti li dan l-algoritmu jiġi kkombinat ma 'kontroll tad-dizzjunarju.

  3. Dan it-tip ta '"kontroll tas-saħħa" iwassal lin-nies fi triq perikoluża ħafna. Huwa jivvaluta d-diversità tal-karattri fuq it-tul tal-passphrase, li jwassalha biex tikklassifika passwords iqsar u aktar diversi bħala aktar b'saħħithom minn passwords itwal u inqas diversi. Dan huwa fallacy li se jġib lill-utenti tiegħek fl-inkwiet jekk qatt jiffaċċjaw theddida serja ta 'hacking.

    1. Ma naqbilx, Ġordan! L-eżempju tpoġġa sempliċement bħala eżempju tal-iskrittura. Ir-rakkomandazzjoni tiegħi għan-nies hija li tuża għodda ta 'ġestjoni tal-passwords biex toħloq passphrases indipendenti għal kwalunkwe sit li huma uniċi għalih. Grazzi!

  4. Inti saver ħaj! I kien parsing kordi xellug lemin u ċentru u ħsibt li hemm mod aħjar u sibt il-biċċa tal-kodiċi tiegħek billi tuża Regex. Kien kapaċi tinkle magħha għas-sit tiegħi... M'għandekx idea kemm dan għen. Grazzi ħafna Douglas!!

What do you think?

Dan is-sit juża Akismet biex inaqqas l-ispam. Tgħallem kif il-kumment tiegħek huwa pproċessat.

Lura għall-buttuna ta 'fuq