JavaScript жана жөнөкөй сөздөр менен Сырсөздүн бекемдигин текшериңиз

JavaScript жана жөнөкөй сөздөр менен Сырсөздүн бекемдигин текшериңиз

Мен колдонгон Сырсөздүн күчүн текшергичтин жакшы мисалын табуу боюнча бир нече изилдөө жүргүзүп жаткам JavaScript жана Туруктуу сөздөр (Regex). Менин ишимдеги тиркемеде биз сырсөздүн бекемдигин текшерүү үчүн билдирүү жасайбыз жана бул биздин колдонуучуларга ыңгайсыз.

Регекс деген эмне?

Туруктуу сөз айкашы - издөө моделин аныктаган белгилердин ырааттуулугу. Адатта, мындай схемалар үчүн издөө алгоритмдери колдонулат табуу or табуу жана алмаштыруу саптардагы операциялар, же киргизүүнү текшерүү үчүн. 

Бул макала сизге туруктуу сөз айкаштарын үйрөтпөйт. Тексттен туруктуу үлгүлөрдү колдонуу мүмкүнчүлүгү сиздин өнүгүшүңүздү таптакыр жөнөкөйлөтөт деп билиңиз. Көпчүлүк өнүгүү тилдеринде сөз айкаштарын үзгүлтүксүз колдонууну оптималдаштыргандыгын белгилей кетүү маанилүү ... андыктан, саптарды этап-этабы менен талдоонун ордуна, Regex адатта серверде дагы, кардар тарапта дагы тезирээк иштейт.

Мен таба электе эле Интернеттен бир аз издедим мисал узундуктун, белгилердин жана символдордун айкалышын издеген кээ бир туруктуу регрессиялык сөздөр. Канткен менен, менин табитим үчүн код бир аз ашыкча болуп, .NET үчүн ылайыкташтырылды. Ошентип мен кодду жөнөкөйлөтүп, JavaScript'ке салдым. Бул аны кайра жайгаштыруудан мурун кардардын браузеринде реалдуу убакыт режиминде паролдун күчүн текшерип, колдонуучуга паролдун күчү жөнүндө бир нече пикирин берет.

Сыр сөздү териңиз

Ар бир баскычтоп басылган сайын, сыр сөз кадимки сөз айкашына каршы текшерилет, андан кийин колдонуучуга анын аралыгында кайтарым байланыш берилет.




Сыр сөздү териңиз

Мына Кодекс

The Туруктуу сөздөр коддун узактыгын азайтуу боюнча фантастикалык жумуш жасаңыз:

  • Дагы каармандар - Эгерде узундугу 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 Comments

  1. 1
  2. 2

    РАХМАТ САГА! РАХМАТ САГА! РАХМАТ САГА! Мен башка веб-сайттардан пароль күчүн коду менен 2 жумадан бери алданып, чачымды жулуп жатам. Сиздики кыска, мен каалагандай иштейт жана баарынан жакшысы, javascript башталгычына өзгөртүү киргизүү оңой! Мен күчүн сынап, колдонуучунун сыр сөзүн жаңыртууга мүмкүнчүлүк бербегим келди. Башка адамдардын коду өтө татаал же туура иштебей калган же дагы башка нерсе болгон. Мен сени сүйөм! ХХХХ

  3. 4

    чындыгында коддун бир бөлүгүн туура жаза алган адамдар үчүн кудайга шүгүр.
    Жанис сыяктуу тажрыйбага ээ болгон.

    Бул JavaScript кодун коё албаган мен сыяктуу адамдарга ылайыктуу болгон кутудан чыгып жатат!

  4. 5
  5. 6

    Салам, биринчиден, аракеттери үчүн чоң рахмат, мен Asp.net менен колдонууга аракет кылдым, бирок иштеген жокмун, колдонуп жатам

    ордуна теги, жана ал иштеген жок, эч кандай сунуштар ?!

  6. 7

    Nisreen үчүн: белгиленген кутучадагы код кесилген паста менен иштебейт. Жалгыз цитата бузулуп жатат. Демонстрациялык шилтеменин коду жакшы.

  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

    Жакшы, thx. Бирок ... КУЧТУУ pw үлгүсү кандай? 'таба албай жатам! - {}

  23. 24

    "Күч текшергичинин" бул түрү адамдарды өтө кооптуу жолго салат. Ал купуя сөз айкаштарынын узактыгына караганда мүнөздүн ар түрдүүлүгүн жогору баалап, кыска жана ар кандай сырсөздөрдү узунураак, анча көп эмес паролдорго салыштырганда күчтүү деп эсептейт. Эгер колдонуучулар олуттуу хакердик коркутууга дуушар болушса, көйгөйгө дуушар кыла турган жаңылыштык.

    • 25

      Мен макул эмесмин, Иордания! Мисал сценарийдин мисалы катары жөн эле келтирилген. Менин адамдарга сунуштай турганым, өзүнө гана мүнөздүү сайттардын баарына көзкарандысыз купуя сөз айкаштарын түзүү үчүн паролду башкаруу куралын колдонуу. Рахмат!

  24. 26
  25. 27
  26. 28

    Сизди ушунча жолу издегениңиз үчүн чексиз ыраазымын, бирок акыры мен сиздин постуңузду алдым жана чындап эле амзедмин. РАХМАТ САГА

  27. 29
  28. 31

    Мен сиз менен бөлүшкөнүңүз үчүн ыраазымын! Вебсайтыбыздагы паролдун күчүн жогорулатууну көздөп келе жатам жана бул мен каалагандай иштеди. Сизге чоң рахмат!

  29. 33

    Сиз тирүү үнөмдөгүчсүз! Мен оң жактагы жана сол жактагы саптарды талдап жатып, андан да мыкты жол бар деп ойлоп, Regex аркылуу кодуңузду таптым. Менин сайтым үчүн аны менен тамшана алды беле ... Бул сизге канчалык жардам бергенин билбейсиз. Чоң рахмат Дуглас !!

Эмне деп ойлойсуң?

Бул сайт спам азайтуу Akismet колдонот. Сиздин комментарий маалымат кандайча иштелишин Үйрөнүү.