Susihon ang Kalig-on sa Password nga adunay JavaScript ug Regular nga mga Pagpahayag

Susihon ang Kalig-on sa Password nga adunay JavaScript ug Regular nga mga Pagpahayag

Naghimo ako pagpanukiduki sa pagpangita usa ka maayong panig-ingnan sa usa ka Checker sa Kusog sa Password nga gigamit JavaScript ug Regular nga Pagpahayag (Regex). Sa aplikasyon sa akong trabahoan, naghimo kami usa ka post balik aron ma-verify ang kusog sa password ug dili kini komportable alang sa among mga ninggamit.

Unsa man ang Regex?

Ang usa ka regular nga ekspresyon usa ka han-ay sa mga karakter nga nagpasabut sa usa ka sundanan sa pagpangita. Kasagaran, ang ingon nga mga sumbanan gigamit sa mga pagpangita sa mga algorithm alang sa sa pagpangita sa or pagpangita ug pag-ilis operasyon sa mga lubid, o alang sa pagpanghimatuud sa pag-input. 

Kini nga artikulo siguradong dili aron matudloan ka sa regular nga mga ekspresyon. Nahibal-an ra nga ang abilidad sa paggamit sa Regular Expression hingpit nga gipasimple ang imong pag-uswag samtang gipangita nimo ang mga sundanan sa teksto. Mahinungdanon usab nga hinumdoman nga ang kadaghanan sa mga sinultian sa pag-uswag na-optimize ang regular nga paggamit sa ekspresyon… labi pa sa pag-parse ug pagpangita sa mga hinayhinay nga lakang, ang Regex kasagaran mas paspas sa server ug sa client-side.

Gipangita nako gamay ang web sa wala pa ako makit-an usa ka panig-ingnan sa pila ka maayo nga Regular Expression nga nagpangita kombinasyon sa gitas-on, karakter, ug simbolo. Bisan unsaon, ang code gamay nga sobra alang sa akong lami ug gipaangay alang sa .NET. Mao nga gipasayon ​​nako ang code ug gibutang kini sa JavaScript. Gihimo niini nga pagpanghimatuud ang kusog sa password sa tinuud nga oras sa browser sa kliyente sa wala pa i-post kini pagbalik… ug naghatag pipila nga feedback sa mogamit sa kusog sa password

Pag-type Usa ka Password

Sa matag stroke sa keyboard, ang password gisulayan batok sa naandan nga ekspresyon ug pagkahuman gihatag ang feedback sa mogamit sa us aka luwang sa ilalum niini.




Pag-type sa Password

Ania ang Code

ang Regular nga Pagpahayag paghimo usa ka maayo nga trabaho aron maminusan ang gitas-on sa code:

  • Daghang mga karakter - Kung ang gitas-on ubos sa 8 ka karakter.
  • Huyang - Kung ang gitas-on mas mubu sa 10 ka mga karakter ug wala’y sulud nga kombinasyon sa mga simbolo, takup, teksto.
  • medium - Kung ang gitas-on mao ang 10 nga mga karakter o labaw pa ug adunay usa ka kombinasyon nga mga simbolo, takup, teksto.
  • Lig-on - Kung ang gitas-on 14 ka karakter o labaw pa ug adunay kombinasyon nga mga simbolo, takup, teksto.

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

Paggahi sa Imong Paghangyo sa Password

Hinungdanon nga dili ka ra magpamatuud sa pagtukod sa password sa sulud sa imong Javascript. Mapagana niini ang bisan kinsa nga adunay mga gamit sa pagpalambo sa browser aron malaktawan ang script ug magamit ang bisan unsang password nga gusto nila. Kinahanglan nimo kanunay nga gamiton ang usa ka tseke sa kilid sa server aron mapamatud-an ang kusog sa password sa wala pa kini tipigi sa imong platform.

34 Comments

  1. 1
  2. 2

    SALAMAT! SALAMAT! SALAMAT! Naglimbong ako sa sulod sa 2 ka semana nga adunay maldita nga code sa kusog sa password gikan sa ubang mga website ug gibira ang akong buhok. Ang imo mubu, molihok sama sa gusto nako ug labi sa tanan, dali alang sa us aka javascript novice nga usbon! Gusto nakong kuhaon ang kusog nga paghukum ug dili pasagdan ang post sa porma aron ma-update gyud ang password sa gumagamit gawas kung nahimamat ang pagsulay sa kusog. Ang kodigo sa ubang mga tawo labi ka komplikado o wala molihok nga tama o uban pa. Gihigugma tika! XXXXX

  3. 4

    salamat sa diyos alang sa mga tawo nga makasulat sa husto nga paagi sa usa ka piraso nga code.
    Adunay parehas nga kasinatian sama ni Janis.

    Kini molihok dayon gikan sa kahon nga perpekto alang sa mga tawo nga sama nako nga wala’y code nga javascript!

  4. 5
  5. 6

    Kumusta, una sa tanan daghang salamat sa imong mga paningkamot, gisulayan nako kini nga gamiton sa Asp.net apan wala molihok, gigamit nako

    imbis nga tag, ug dili kini molihok, bisan unsang sugyot ?!

  6. 7

    Ngadto sa Nisreen: ang code sa naka-highlight nga kahon dili molihok sa usa ka cut'n'paste. Ang nag-usa nga kinutlo gubot. Maayo ang code sa link sa demonstrasyon.

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

    Kusog ang gipakita sa "P @ s $ w0rD", bisan kung kini dali nga mabuak sa usa ka diksiyaryong pag-atake ...
    Aron mapahimutang ang ingon nga dagway sa usa ka solusyon sa propesyon, nagtuo ako nga hinungdanon nga isagol ang kini nga algorithm sa usa ka tseke sa diksyonaryo.

  11. 12
  12. 13

    Salamat sa kini nga gamay nga code mahimo ko na kini nga magamit aron masulayan ang akong kusog sa password kung ang akong mga bisita gihisgutan ang ilang mga password,

  13. 14
  14. 15
  15. 16
  16. 17

    Sayon kaayo ug hinanduraw nga ekspresyon. Ako ingon usa ka tester nakuha ang akong mga TC gikan sa kini nga ekspresyon.

  17. 18
  18. 19

    mahimo isulti sa usa ka tawo, kung ngano kini wala molihok sa akoa ..

    gikopya nako ang tanan nga code, ug i-paste kini sa notepad ++, apan dili gyud kini molihok?
    Tabangi ko..

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

    Ang kini nga klase nga "checker sa kusog" nagdala sa mga tawo sa peligro kaayo nga agianan. Gihatagan bili ang pagkalainlain sa kinaiya sa gitas-on sa passphrase, nga nag-una niini aron ma-rate ang labi ka mubu, daghang lainlaing mga password nga labi ka kusgan kaysa labi ka dugay, dili kaayo magkalainlain nga mga password. Kana ang usa ka sayup nga maghimo sa kasamok sa imong mga ninggamit kon sila mag-atubang usa ka grabe nga hulga sa pag-hack.

    • 25

      Dili ako uyon, Jordan! Ang panig-ingnan yano nga gibutang ingon usa ka pananglitan sa iskrip. Ang akong rekomendasyon alang sa mga tawo aron magamit ang usa ka tool sa pagdumala sa password aron makahimo independente nga mga passphrase alang sa bisan unsang site nga talagsaon niini. Salamat!

  24. 26
  25. 27
  26. 28

    Gihangop ko ikaw nga gipangita kini sa daghang mga higayon apan sa katapusan nakuha ko ang imong post ug na-amzed gyud ako. SALAMAT

  27. 29
  28. 31

    Gipasalamatan ko ang imong pagpaambit! Nagtinguha nga mapataas ang kusog sa password sa among website ug kini ang nagtrabaho sa gusto nako. Salamat kaayo!

  29. 33

    Ikaw usa ka live saver! Giisa ko ang mga pisi sa wala sa tuo ug tunga ug gihunahuna nga adunay labi ka maayo nga paagi ug nakit-an ang imong piraso sa code gamit ang Regex. Nakapangita niini alang sa akong site… Wala ka’y ideya kung unsa kadako ang natabang niini. Salamat kaayo Douglas !!

Unsay imong hunahuna?

Kini nga site naggamit sa Akismet sa pagpakunhod sa spam. Hibal-i kon giunsa ang pagproseso sa datos sa imong komento.