JavaScript və Adi ifadələrlə parol gücünü yoxlayın

JavaScript və Adi ifadələrlə parol gücünü yoxlayın

İstifadə edən bir Parol Gücü yoxlayıcısının yaxşı bir nümunəsini tapmaq üçün araşdırma aparırdım JavaScriptAdi ifadələr (Regex). İşimdəki tətbiqdə parol gücünü yoxlamaq üçün geri bir yazı göndəririk və istifadəçilərimiz üçün olduqca əlverişsizdir.

Regex nədir?

Adi ifadə axtarış modelini təyin edən simvol ardıcıllığıdır. Ümumiyyətlə, bu cür naxışlar üçün simli axtarış alqoritmləri tərəfindən istifadə olunur tapmaq or tapmaq və dəyişdirmək simlər üzərində əməliyyatlar və ya giriş doğrulaması üçün. 

Bu yazı mütləq sizə normal ifadələr öyrətmək üçün deyil. Yalnız bilin ki, Müntəzəm İfadələrdən istifadə etmək bacarığınız mətndə naxış axtararkən inkişafınızı tamamilə sadələşdirəcəkdir. Çox inkişaf dillərinin müntəzəm ifadə istifadəsini optimallaşdırdığını da qeyd etmək vacibdir ... beləliklə, strinqləri addım-addım təhlil etmək və axtarmaq əvəzinə, Regex həm server həm də müştəri tərəfində daha sürətli olur.

Tapmadan əvvəl vebdə bir az axtardım nümunə uzunluq, simvol və simvolların birləşməsini axtaran bəzi möhtəşəm İfadələrdən. Nə olursa olsun, kod zövqüm üçün biraz həddindən artıq və .NET üçün uyğunlaşdırılmışdı. Buna görə kodu sadələşdirdim və JavaScript-ə qoydum. Bu, parolu möhkəmləndirmədən əvvəl göndərmədən əvvəl müştərinin brauzerində real vaxt rejimində doğrulamasını təmin edir və istifadəçiyə parolun gücünə dair bəzi rəylər verir.

Parol yazın

Klaviaturanın hər vuruşunda parol normal ifadəyə qarşı yoxlanılır və sonra istifadəçiyə altındakı bir müddətdə geribildirim verilir.




Parol yazın

Budur Kod

The Adi ifadələr kodun uzunluğunu minimuma endirmək üçün fantastik bir iş edin:

  • Daha çox simvol - Uzunluq 8 simvoldan azdırsa.
  • Zəif - Uzunluq 10 simvoldan azsa və işarələrin, başlıqların, mətnlərin birləşməsini daxil etmirsə.
  • Mühit - Uzunluq 10 və ya daha çox simvoldursa və işarələrin, başlıqların, mətnlərin birləşməsi varsa.
  • Güclü - Uzunluq 14 və ya daha çox simvoldursa və işarələrin, başlıqların, mətnlərin birləşməsinə malikdirsə.

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

Parol Tələbinizi Sərtləşdirmək

Yalnız Javascript içərisində parol istehsalını təsdiqləməməyiniz vacibdir. Bu, brauzer inkişaf etdirmə alətləri olan hər kəsin skriptdən keçməsinə və istədikləri paroldan istifadə etməsinə imkan verəcəkdir. Parolunuzu platformanızda saxlamadan əvvəl hər zaman bir server tərəfindəki yoxlamadan istifadə etməlisiniz.

34 Şərhlər

  1. 1
  2. 2

    ÇOX SAĞ OL! ÇOX SAĞ OL! ÇOX SAĞ OL! Mən 2 həftədir ki, başqa saytların lənətə gəlmiş parol gücü kodu ilə aldadıram və saçlarımı dartıram. Sizinki qısadır, mənim istədiyim kimi işləyir və ən yaxşısı, javascript təcrübəsi olanlar üçün asanlıqla dəyişdirilə bilər! Mən güc qərarını tutmaq və güc testinə cavab vermədiyi halda, formanın istifadəçinin parolunu həqiqətən yeniləməsinə icazə verməmək istədim. Digər insanların kodu çox mürəkkəb idi və ya düzgün işləmirdi və ya başqa bir şey. Mən səni sevirəm! XXXXXX

  3. 4

    həqiqətən düzgün bir kod parçası yaza bilən insanlar üçün Allaha şükürlər olsun.
    Janis ilə eyni təcrübəyə malik idi.

    Bu, mənim kimi javascript kodunu bilməyən insanlar üçün mükəmməl olan qutudan kənarda işləyir!

  4. 5
  5. 6

    Salam, ilk növbədə səyləriniz üçün çox sağ olun, mən bunu Asp.net ilə istifadə etməyə çalışdım, amma alınmadı, istifadə edirəm

    tag yerinə, və o, işləmədi, hər hansı bir təklif?!

  6. 7

    Nisreen-ə: vurğulanan qutudakı kod cut'n'paste ilə işləmir. Tək sitat qarışıqdır. Nümayiş linkinin kodu olsa da yaxşıdır.

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

    "P@s$w0rD" güclüdür, baxmayaraq ki, lüğət hücumu ilə kifayət qədər tez sındırılacaqdı...
    Belə bir xüsusiyyəti peşəkar bir həlldə yerləşdirmək üçün bu alqoritmi lüğət yoxlaması ilə birləşdirməyin vacib olduğuna inanıram.

  11. 12
  12. 13

    Bu kiçik kod üçün təşəkkür edirəm, indi ziyarətçilərim parollarını daxil etdikdə parolun gücünü yoxlamaq üçün ondan istifadə edə bilərəm,

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

    Paylaşdığınız üçün təşəkkür edirik. Bu səhifədə bir neçə pozulmuş linkiniz var. FYI.

  18. 19

    kimsə deyə bilər, niyə mənimki işləmir?

    bütün kodu kopyaladım və notepad++-a yapışdırdım, amma heç işləmir?
    xahiş eliyirəm, mənə kömək eləyin..

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

    Bu cür “güc yoxlayıcı” insanları çox təhlükəli bir yola aparır. O, simvolların müxtəlifliyini parol ifadəsinin uzunluğuna görə qiymətləndirərək, onu daha qısa, daha müxtəlif parolları daha uzun, daha az müxtəlif parollardan daha güclü kimi qiymətləndirir. Bu, ciddi bir haker təhlükəsi ilə üzləşdikləri təqdirdə istifadəçilərinizi problemə salacaq bir səhvdir.

    • 25

      Mən razı deyiləm, Jordan! Nümunə sadəcə skript nümunəsi kimi təqdim edildi. İnsanlara tövsiyəm, özünəməxsus olan hər hansı bir sayt üçün müstəqil parol ifadələri yaratmaq üçün parol idarəetmə alətindən istifadə etməkdir. Təşəkkürlər!

  24. 26
  25. 27
  26. 28

    Sizi dəfələrlə axtardığınız üçün həqiqətən minnətdaram, amma nəhayət yazınızı aldım və həqiqətən heyran oldum. ÇOX SAĞ OL

  27. 29
  28. 31

    Paylaşdığınız üçün təşəkkür edirəm! Veb saytımızda parolun gücünü artırmaq üçün axtarırdım və bu, istədiyim kimi işlədi. Çox sağ ol!

  29. 33

    Siz canlı qoruyucusunuz! Mən sətirləri sağa və mərkəzə təhlil edirdim və daha yaxşı bir yol olduğunu düşündüm və Regex-dən istifadə edərək kod parçanızı tapdım. Saytım üçün onunla cingildəyə bildim… Bunun nə qədər kömək etdiyini bilmirsiniz. Çox sağ olun Douglas!!

Siz nə düşünürsünüz?

Bu sayt spam azaldılması üçün Akismet istifadə edir. Yorumunuzun necə işləndiyini öyrənin.