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

JavaScript və Adi ifadələrlə parol gücünü yoxlayın
Oxuma vaxtı: 2 dəqiqə

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

29 Şərhlər

  1. 1
  2. 2

    ÇOX SAĞ OL! ÇOX SAĞ OL! ÇOX SAĞ OL! 2 həftədən bəri başqa veb saytlardan lənətə gəlmiş parol güc koduyla aldadım və saçlarımı çıxartdım. Sənin qısadır, mənim istədiyim kimi işləyir və ən yaxşısı, bir javascript təcrübəsizinin dəyişdirməsi asandır! Güc hökmünü ələ keçirmək və güc testinə uyğun gəlmədiyi təqdirdə istifadəçinin parolunu həqiqətən yeniləməsinə icazə verməmək istəyirdim. Başqalarını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! XXXXX

  3. 4

    həqiqətən bir parça kod yaza bilən insanlar üçün tanrıya şükür edirəm.
    Janis ilə eyni təcrübəyə sahib idi.

    Bu mənim kimi javascript yaza bilməyən insanlar üçün mükəmməl olan qutudan çıxır!

  4. 5
  5. 6

    Salam, ilk növbədə ur səyləri üçün çox təşəkkür edirəm, bunu Asp.net ilə istifadə etməyə çalışdım, amma işləmədim, istifadə edirəm

    etiket əvəzinə və işə yaramadı, hər hansı bir təklif ?!

  6. 7

    Nisreenə: vurgulanan qutudakı kod kəsik pastası ilə işləmir. Tək sitat qarışıqdır. Nümayiş linkinin kodu yaxşıdır.

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

    “P @ s $ w0rD” güclü göstərir, baxmayaraq ki, bir lüğət hücumu ilə kifayət qədər tez çatlanacaqdı ...
    Belə bir xüsusiyyəti bir peşə həllinə yerləşdirmək üçün bu alqoritmin bir lüğət yoxlaması ilə birləşdirilməsinin vacib olduğuna inanıram.

  11. 12
  12. 13

    Bu kiçik kod üçün təşəkkürlər, ziyarətçilərim parollarını daxil etdikdə şifrəmin gücünü yoxlamaq üçün 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çə qırıq link var. Məlumat.

  18. 19

    kimsə deyə bilər, niyə mənimki işləmədiyini ..

    bütün kodu kopyaladım və notepad ++ -ə 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 tip “güc yoxlayıcısı” insanları çox təhlükəli bir yola aparır. Parol uzunluğuna görə xarakter müxtəlifliyini qiymətləndirir, daha qısa, daha fərqli parolları daha uzun, az fərqli parollardan daha güclü olaraq qiymətləndirir. Bu, istifadəçilərinizi ciddi bir hack təhdidi ilə qarşılaşdıqları təqdirdə problemə salan bir səhvdir.

    • 25

      Razı deyiləm, Jordan! Nümunə sadəcə ssenarinin nümunəsi olaraq ortaya qoyuldu. İnsanlar üçün tövsiyəm, özünə xas olan hər hansı bir sayt üçün müstəqil keçid sözləri yaratmaq üçün bir parol idarəetmə vasitəsindən istifadə etməkdir. Təşəkkürlər!

  24. 26
  25. 27
  26. 28

    həqiqətən dəfələrlə axtarıldığım üçün minnətdaram, amma sonda yazınızı aldım və həqiqətən amzed oldum. ÇOX SAĞ OL

  27. 29

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

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