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

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.

34 Kummenti

  1. 1
  2. 2

    GRAZZI! GRAZZI! GRAZZI! Ilni niddejjaq għal ġimagħtejn b'kodiċi ta 'saħħa tal-password kkritikata minn websajts oħra u niġbduli xagħarni. Tiegħek huwa qasir, jaħdem bħalma rrid u l-aħjar minn kollox, faċli għal novizzi javascript biex jimmodifika! Jien ridt naqbad il-verdett tal-qawwa u ma nħallix il-formola tibgħat biex fil-fatt taġġorna l-password tal-utent sakemm ma tissodisfax it-test tas-saħħa. Il-kodiċi tan-nies kien ikkumplikat wisq jew ma ħadimx sew jew xi ħaġa oħra. Inħobbok! XXXXX

  3. 4

    nirringrazzja lil Alla għal nies li fil-fatt jistgħu jiktbu biċċa kodiċi kif suppost.
    Kellu l-istess esperjenza bħal Janis.

    Dan jaħdem minn barra l-kaxxa li huwa perfett għal nies bħali li ma jistgħux javascript kodiċi!

  4. 5
  5. 6

    Hello, l-ewwelnett grazzi ħafna għall-isforzi tiegħek, ippruvajt nuża dan ma 'Asp.net imma ma ħadmux, qed nuża

    minflok tag, u ma ħadmitx, xi suġġerimenti ?!

  6. 7

    Lil Nisreen: il-kodiċi fil-kaxxa enfasizzata ma jaħdimx bi cut'n'paste. Il-kwotazzjoni unika hija mħawda. Il-kodiċi tal-link ta 'dimostrazzjoni huwa tajjeb għalkemm.

  7. 8
  8. 9
  9. 10
  10. 11

    "P @ s $ w0rD" juri qawwi, għalkemm ikun ikkrekkjat pjuttost malajr b'attakk dittizzjarju ...
    Biex tuża karatteristika bħal din fuq soluzzjoni professjonali, nemmen li huwa importanti li tgħaqqad dan l-algoritmu ma 'verifika dijonarja.

  11. 12
  12. 13

    Grazzi għal dan il-kodiċi żgħir issa nista 'nużah biex nittestja s-saħħa tal-password tiegħi meta l-viżitaturi tiegħi jidħlu fil-passwords tagħhom,

  13. 14
  14. 15
  15. 16
  16. 17
  17. 18
  18. 19

    xi ħadd jista 'jgħid, għaliex ma ħadimx tiegħi ...

    jien ikkupjajt il-kodiċi kollu, u pejstu fin-notepad ++, imma ma jaħdem xejn?
    jekk jogħġbok għinni ..

  19. 20
  20. 21
  21. 22
  22. 23
  23. 24

    Dan it-tip ta '"kontrollur tas-saħħa" jwassal lin-nies minn triq perikoluża ħafna. Huwa jivvaluta d-diversità tal-karattri fuq it-tul tal-passphrase, u jwassalha biex tikklassifika passwords iqsar u aktar diversi bħala aktar b'saħħithom minn passwords itwal u inqas diversi. Din hija falzità li ġġiegħel lill-utenti tiegħek joqogħdu fl-inkwiet jekk qatt jiffaċċjaw theddida serja ta 'hacking.

    • 25

      Ma naqbilx, Ġordan! L-eżempju tqiegħed sempliċement bħala eżempju tal-iskritt. Ir-rakkomandazzjoni tiegħi għan-nies hija li tuża għodda għall-immaniġġjar tal-password biex toħloq frażijiet tal-pass indipendenti għal kwalunkwe sit li huma uniċi għaliha. Grazzi!

  24. 26
  25. 27
  26. 28
  27. 29
  28. 31
  29. 33

    Int live saver! Jien kont qed inħejji l-kordi tax-xellug tal-lemin u taċ-ċentru u ħsibt li hemm mod aħjar u sibt il-biċċa tal-kodiċi tiegħek billi tuża Regex. Stajt inħoss miegħu 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.