Проверете ја јачината на лозинката со JavaScript и редовни изрази

Проверете ја јачината на лозинката со JavaScript и редовни изрази
Време на читање: 2 минути

Правев истражување за наоѓање на добар пример за проверка на силата на лозинката што ја користи Го вклучите Javascript- Редовни изрази (Регекс). Во апликацијата за мојата работа, правиме порака за да ја потврдиме јачината на лозинката и тоа е доста незгодно за нашите корисници.

Што е Regex?

Редовен израз е низа од карактери кои дефинираат образец за пребарување. Обично, ваквите обрасци се користат со алгоритми за пребарување на низи најдете or најди и замени операции на жици или за валидација на влез. 

Овој напис дефинитивно не треба да ве научи на редовни изрази. Само знајте дека можноста да користите редовни изрази апсолутно ќе го поедностави вашиот развој додека пребарувате обрасци во текстот. Исто така е важно да се напомене дека повеќето јазици за развој имаат оптимизирана употреба на редовно изразување…, наместо да ги анализираат и пребаруваат низите чекор-по-чекор, Regex е обично многу побрз и од серверот и од страната на клиентот.

Пребарував по мрежата доста пред да најдам пример на некои одлични Редовни изрази што бараат комбинација од должина, знаци и симболи. Како и да е, кодот беше малку претеран за мојот вкус и прилагоден за .NET. Затоа, го поедноставив кодот и го ставив во JavaScript. Ова ја прави да ја потврди јачината на лозинката во реално време на прелистувачот на клиентот пред да ја објавите назад… и дава извесни повратни информации за корисникот за јачината на лозинката.

Внесете лозинка А.

Со секој удар на тастатурата, лозинката се тестира наспроти редовниот израз, а потоа на корисникот му се даваат повратни информации во распон под него.




Внесете лозинка

Еве го Кодексот

на Редовни изрази направете фантастична работа за минимизирање на должината на кодот:

  • Повеќе карактери - Ако должината е под 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. Ова ќе им овозможи на сите што имаат алатки за развој на прелистувачи да ја заобиколат скриптата и да користат каква било лозинка што би сакале. Треба секогаш да користите проверка од страна на серверот за да ја потврдите јачината на лозинката пред да ја зачувате во вашата платформа.

32 Коментари

  1. 1
  2. 2

    ВИ БЛАГОДАРАМ! ВИ БЛАГОДАРАМ! ВИ БЛАГОДАРАМ! Јас се замајував веќе 2 недели со проклетиот код за јачина на лозинка од други веб-страници и ми ја вадеше косата. Твоето е кратко, работи исто како што сакам и најдобро од сè, лесно е за почетник на Javascript да го измени! Сакав да ја фатам пресудата за силата и да не дозволам објавувањето на образецот да ја ажурира лозинката на корисникот, освен ако не го исполни тестот за јачина. Кодот на другите луѓе беше премногу комплициран или не функционираше како што треба или нешто друго. Те сакам! ХХХХХ

  3. 4

    фала му на Бога за луѓето кои всушност можат правилно да напишат парче код.
    Имаше исто искуство со isенис.

    Ова работи веднаш надвор од кутијата, што е совршено за луѓе како мене кои не можат да го кодираат JavaScript!

  4. 5
  5. 6
  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

      Не се согласувам, Jordanордане! Примерот беше едноставно ставен како пример за сценариото. Моја препорака за луѓето е да користат алатка за управување со лозинка за да создадат независни фрази за лозинки за која било страница што е единствена за неа. Благодарам

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

    Те ценам што споделуваш! Се обидував да ја зајакнам јачината на лозинката на нашата веб-страница и оваа работеше како што сакав. Ви благодарам многу!

Што мислите?

Оваа страница користи Akismet за намалување на спам. Научете како се обработува вашиот коментар.