შეამოწმეთ პაროლის სიძლიერე JavaScript და Regular Expressions- ით

შეამოწმეთ პაროლის სიძლიერე JavaScript და Regular Expressions- ით

მე ვატარებდი გარკვეულ გამოკვლევას პაროლის სიძლიერის შემმოწმებლის კარგი მაგალითის მოძიებაში JavaScript და რეგულარული გამონათქვამები (რეგექსი). ჩემს ნამუშევარში, ჩვენ ვაგზავნით შეტყობინებას, რომ გადავამოწმოთ პაროლის ძალა და ეს საკმაოდ მოუხერხებელია ჩვენი მომხმარებლებისთვის.

რა არის რეგექსი?

რეგულარული გამოხატვა არის სიმბოლოების თანმიმდევრობა, რომლებიც განსაზღვრავს ძიების ნიმუშს. ჩვეულებრივ, ასეთ შაბლონებს იყენებენ სტრიქონის ძიების ალგორითმებით მოვძებნოთ or იპოვე და ჩაანაცვლე ოპერაციები სტრიქონებზე ან შეყვანის ვალიდაციისთვის. 

ეს სტატია ნამდვილად არ არის იმისათვის, რომ გასწავლოთ რეგულარული გამოთქმები. უბრალოდ იცოდეთ, რომ რეგულარული გამოხატვის გამოყენების შესაძლებლობა აბსოლუტურად გაამარტივებს თქვენს განვითარებას ტექსტში ნიმუშების ძებნისას. ასევე მნიშვნელოვანია აღინიშნოს, რომ განვითარების ენების უმეტესობამ ოპტიმიზირებულია გამოხატვის რეგულარული გამოყენება… ასე რომ, ვიდრე სტრიქონების ეტაპობრივად გაანალიზება და ძებნა ხდება, Regex, როგორც წესი, ბევრად უფრო სწრაფია, როგორც სერვერული, ასევე კლიენტის მხრიდან.

სანამ ინტერნეტს ვიპოვიდი, საკმაოდ ცოტა ვეძებე ინტერნეტში მაგალითად რამდენიმე შესანიშნავი რეგულარული გამოხატვისა, რომლებიც ეძებენ სიგრძის, სიმბოლოებისა და სიმბოლოების კომბინაციას. თუმცა, კოდი ოდნავ გადაჭარბებული იყო ჩემი გემოვნებისთვის და მორგებული იყო .NET– ზე. ასე რომ, მე გავამარტივე კოდი და ჩავდე JavaScript- ში. ეს საშუალებას აძლევს მას, შეამოწმოს პაროლის სიძლიერე რეალურ დროში კლიენტის ბრაუზერზე, სანამ გაგზავნით მას უკან back და გარკვეულ უკუკავშირს მისცემს მომხმარებელს პაროლის სიძლიერის შესახებ.

აკრიფეთ პაროლი

კლავიატურის ყოველი დარტყმისას, პაროლი ტესტირდება რეგულარული გამოხატვის საწინააღმდეგოდ და შემდეგ მომხმარებელს მიეწოდება უკუკავშირი მის ქვეშ.




აკრიფეთ პაროლი

აქ არის კოდი

ის რეგულარული გამონათქვამები გააკეთე ფანტასტიკური სამუშაო, კოდის სიგრძის შემცირება:

  • მეტი პერსონაჟი - თუ სიგრძე 8 სიმბოლოზე ნაკლებია.
  • სუსტი - თუ სიგრძე 10 სიმბოლოზე ნაკლებია და არ შეიცავს სიმბოლოების, შაბლონების, ტექსტის კომბინაციას.
  • საშუალო - თუ სიგრძე 10 ან მეტი სიმბოლოა და მასში გაერთიანებულია სიმბოლოები, კაპები, ტექსტი.
  • ძლიერი - თუ სიგრძე 14 ან მეტი სიმბოლოა და მასში გაერთიანებულია სიმბოლოები, კაპები, ტექსტი.

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

თქვენი პაროლის მოთხოვნის გამკვრივება

აუცილებელია, რომ თქვენ უბრალოდ არ დაადასტუროთ პაროლის კონსტრუქცია თქვენს Javascript- ში. ეს საშუალებას მისცემს ნებისმიერს, რომლებსაც ბრაუზერის განვითარების ხელსაწყოები აქვთ, გვერდის ავლით მოახდინონ სკრიპტი და გამოიყენონ ნებისმიერი პაროლი, რომელიც გსურთ. თქვენ ყოველთვის უნდა გამოიყენოთ სერვერის შემოწმება, რომ დაადასტუროთ პაროლის სიძლიერე, სანამ შეინახავთ თქვენს პლატფორმაში.

34 კომენტარები

  1. 1

    ვიპოვე კიდევ ერთი პაროლის სიძლიერის შემმოწმებელი. მათი ალგორითმი სიტყვების ლექსიკონზეა დაფუძნებული. სცადეთ ერთი microsoft.com–ზე – http://www.microsoft.com/protect/yourself/password/checker.mspx და ერთი itsimpl.com–ზე – http://www.itsimpl.com

  2. 2

    ᲒᲛᲐᲓᲚᲝᲑᲗ! ᲒᲛᲐᲓᲚᲝᲑᲗ! ᲒᲛᲐᲓᲚᲝᲑᲗ! 2 კვირაა ვგიჟდები სხვა ვებსაიტებიდან შემოსული პაროლის სიმტკიცის კოდით და თმას ვიწევ. შენი მოკლეა, მუშაობს ისევე, როგორც მე მინდა და რაც ყველაზე კარგია, მარტივია Javascript-ის დამწყებთათვის შეცვლა! მე მსურდა გამომეტანა ძალაუფლების ვერდიქტი და არ მიმეღო საშუალება, რომ ფორმა გამოქვეყნდეს მომხმარებლის პაროლის რეალურად განახლებაზე, თუ ის არ დააკმაყოფილებდა სიძლიერის ტესტს. სხვა ადამიანების კოდი ძალიან რთული იყო ან არ მუშაობდა სწორად ან სხვა რამ. Მიყვარხარ! XXXX

  3. 4

    მადლობა ღმერთს იმ ადამიანებისთვის, რომლებსაც რეალურად შეუძლიათ კოდის სწორად დაწერა.
    იგივე გამოცდილება ჰქონდა რაც ჯენისს.

    ეს მუშაობს პირდაპირ ყუთში, რაც შესანიშნავია ჩემნაირი ადამიანებისთვის, რომლებსაც არ შეუძლიათ Javascript-ის კოდირება!

  4. 5
  5. 6

    გამარჯობა, უპირველეს ყოვლისა, დიდი მადლობა თქვენი ძალისხმევისთვის, ვეცადე გამომეყენებინა Asp.net-ით, მაგრამ არ გამომივიდა, ვიყენებ

    ტეგის ნაცვლად და არ იმუშავა, რაიმე შემოთავაზება?!

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

    "P@s$w0rD" აჩვენებს ძლიერად, თუმცა ის საკმაოდ სწრაფად გატეხილი იქნებოდა ლექსიკონის შეტევით...
    ასეთი ფუნქციის პროფესიონალურ გადაწყვეტაზე გამოსაყენებლად, ვფიქრობ, მნიშვნელოვანია ამ ალგორითმის გაერთიანება ლექსიკონის შემოწმებასთან.

  11. 12
  12. 13

    გმადლობთ ამ პატარა კოდისთვის, ახლა შემიძლია გამოვიყენო ჩემი პაროლის სიძლიერის შესამოწმებლად, როდესაც ჩემი ვიზიტორები .შეიყვანს მათ პაროლს,

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

    დიდი სამუშაო ბიჭი! მარტივი და ეფექტური. დიდი მადლობა გაზიარებისთვის!

  21. 22
  22. 23
  23. 24

    ამ ტიპის „ძლიერების შემმოწმებელი“ ადამიანებს ძალიან სახიფათო გზაზე მიჰყავს. იგი აფასებს სიმბოლოების მრავალფეროვნებას საიდუმლო ფრაზის სიგრძეზე, რაც იწვევს მას უფრო მოკლე, უფრო მრავალფეროვანი პაროლების შეფასებას, როგორც უფრო ძლიერს, ვიდრე უფრო გრძელი, ნაკლებად მრავალფეროვანი პაროლები. ეს არის შეცდომა, რომელიც თქვენს მომხმარებლებს პრობლემების წინაშე დააყენებს, თუ ისინი ოდესმე შეხვდებიან სერიოზულ ჰაკერულ საფრთხეს.

    • 25

      მე არ ვეთანხმები, ჟორდანია! მაგალითი უბრალოდ იყო გადმოცემული, როგორც სცენარის მაგალითი. ჩემი რეკომენდაცია ხალხს არის გამოიყენონ პაროლის მართვის ინსტრუმენტი, რათა შექმნან დამოუკიდებელი საიდუმლო ფრაზები ნებისმიერი საიტისთვის, რომელიც უნიკალურია მისთვის. მადლობა!

  24. 26
  25. 27
  26. 28

    ძალიან მადლობელი ვარ, რომ ბევრჯერ ვეძებე, მაგრამ ბოლოს მივიღე შენი პოსტი და ძალიან გაოგნებული ვარ. ᲒᲛᲐᲓᲚᲝᲑᲗ

  27. 29
  28. 31

    ვაფასებ თქვენ გაზიარებას! ვცდილობდი გამეძლიერებინა პაროლის ძალა ჩვენს ვებსაიტზე და ეს მუშაობდა ისე, როგორც მე მინდოდა. Დიდი მადლობა!

  29. 33

    თქვენ ცოცხალი შემნახველი ხართ! მე ვაანალიზებდი სტრიქონებს მარცხნივ მარჯვნივ და ცენტრში და ვფიქრობდი, რომ უკეთესი გზა იყო და ვიპოვე თქვენი კოდის ნაწილი Regex-ის გამოყენებით. მე შევძელი ჩემი საიტისთვის მისი დახატვა... თქვენ წარმოდგენაც არ გაქვთ რამდენად დაეხმარა ამან. დიდი მადლობა დუგლას!!

რას ფიქრობთ?

ეს საიტი იყენებს Akismet- ს, რათა შეამციროს სპამი. შეისწავლეთ თქვენი კომენტარის მონაცემები დამუშავებული.