CRM жана маалымат платформаларыЭлектрондук почта маркетинги жана автоматташтыруу

Сырсөздүн күчүн JavaScript же jQuery жана кадимки туюнтмалар менен текшериңиз (Сервер тараптагы мисалдар менен да!)

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

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

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

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

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

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

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

JavaScript сырсөз күчү функциясы

The Туруктуу сөздөр коддун узундугун азайтуу боюнча фантастикалык ишти аткарыңыз. Бул JavaScript функциясы сырсөздүн күчүн жана аны жок кылуу оңойбу, ортобу, кыйынбы же өтө кыйын экенин текшерет. Адам түрүн жазганда, ал күчтүүрөөк болууга үндөгөн кеңештерди көрсөтөт. Ал сырсөздү төмөнкүлөрдүн негизинде тастыктайт:

  • узундук – Узундугу 8 белгиден аз же андан көп болсо.
  • Mixed Case – Сырсөздө чоң жана кичине тамгалар болсо.
  • номерлер – Эгер сырсөз сандарды камтыса.
  • Атайын Characters – Эгер сырсөздө атайын символдор камтылса.

Функция кыйынчылыкты, ошондой эле сырсөздү андан ары катаалдаштыруу боюнча кээ бир кеңештерди көрсөтөт.

function checkPasswordStrength(password) {
  // Initialize variables
  var strength = 0;
  var tips = "";

  // Check password length
  if (password.length < 8) {
    tips += "Make the password longer. ";
  } else {
    strength += 1;
  }

  // Check for mixed case
  if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
    strength += 1;
  } else {
    tips += "Use both lowercase and uppercase letters. ";
  }

  // Check for numbers
  if (password.match(/\d/)) {
    strength += 1;
  } else {
    tips += "Include at least one number. ";
  }

  // Check for special characters
  if (password.match(/[^a-zA-Z\d]/)) {
    strength += 1;
  } else {
    tips += "Include at least one special character. ";
  }

  // Return results
  if (strength < 2) {
    return "Easy to guess. " + tips;
  } else if (strength === 2) {
    return "Medium difficulty. " + tips;
  } else if (strength === 3) {
    return "Difficult. " + tips;
  } else {
    return "Extremely difficult. " + tips;
  }
}

Эгер сиз учтун түсүн жаңырткыңыз келсе, анда кодду жаңыртуу менен да жасай аласыз // Return results сызык.

// Get the paragraph element
  var strengthElement = document.getElementById("passwordStrength");

  // Return results
  if (strength < 2) {
    strengthElement.textContent = "Easy to guess. " + tips;
    strengthElement.style.color = "red";
  } else if (strength === 2) {
    strengthElement.textContent = "Medium difficulty. " + tips;
    strengthElement.style.color = "orange";
  } else if (strength === 3) {
    strengthElement.textContent = "Difficult. " + tips;
    strengthElement.style.color = "black";
  } else {
    strengthElement.textContent = "Extremely difficult. " + tips;
    strengthElement.style.color = "green";
  }

jQuery сырсөзүнүн күчү функциясы

jQuery менен биз форманы oninput жаңыртуусу менен жазуубуз керек эмес:

<form>
    <label for="password">Enter password:</label>
    <input type="password" id="password">
    <p id="password-strength"></p>
</form>

Кааласак, билдирүүлөрдүн түсүн да өзгөртө алабыз. 

$(document).ready(function() {
    $('#password').on('input', function() {
        var password = $(this).val();
        var strength = 0;
        var tips = "";
  
        // Check password length
        if (password.length < 8) {
            tips += "Make the password longer. ";
        } else {
            strength += 1;
        }
  
        // Check for mixed case
        if (password.match(/[a-z]/) && password.match(/[A-Z]/)) {
            strength += 1;
        } else {
            tips += "Use both lowercase and uppercase letters. ";
        }
  
        // Check for numbers
        if (password.match(/\d/)) {
            strength += 1;
        } else {
            tips += "Include at least one number. ";
        }
  
        // Check for special characters
        if (password.match(/[^a-zA-Z\d]/)) {
            strength += 1;
        } else {
            tips += "Include at least one special character. ";
        }
  
        // Update the text and color based on the password strength
        var passwordStrengthElement = $('#password-strength');
        if (strength < 2) {
            passwordStrengthElement.text("Easy to guess. " + tips);
            passwordStrengthElement.css('color', 'red');
        } else if (strength === 2) {
            passwordStrengthElement.text("Medium difficulty. " + tips);
            passwordStrengthElement.css('color', 'orange');
        } else if (strength === 3) {
            passwordStrengthElement.text("Difficult. " + tips);
            passwordStrengthElement.css('color', 'black');
        } else {
            passwordStrengthElement.text("Extremely difficult. " + tips);
            passwordStrengthElement.css('color', 'green');
        }
    });
});

Сырсөзүңүздүн өтүнүчүн катуулатуу

Бул сиздин JavaScript ичинде сырсөз курулушун ырастап эле эмес, абдан маанилүү. Бул браузерди иштеп чыгуу куралдары бар ар бир адамга скриптти айланып өтүп, каалаган сырсөзүн колдонууга мүмкүнчүлүк берет. Платформаңызга сактоодон мурун сырсөздүн күчүн текшерүү үчүн ДАЙЫМА сервердик текшерүүнү колдонушуңуз керек.

Сырсөздүн күчү үчүн PHP функциясы

function checkPasswordStrength($password) {
  // Initialize variables
  $strength = 0;

  // Check password length
  if (strlen($password) < 8) {
    return "Easy to guess";
  } else {
    $strength += 1;
  }

  // Check for mixed case
  if (preg_match("/[a-z]/", $password) && preg_match("/[A-Z]/", $password)) {
    $strength += 1;
  }

  // Check for numbers
  if (preg_match("/\d/", $password)) {
    $strength += 1;
  }

  // Check for special characters
  if (preg_match("/[^a-zA-Z\d]/", $password)) {
    $strength += 1;
  }

  // Return strength level
  if ($strength < 2) {
    return "Easy to guess";
  } else if ($strength === 2) {
    return "Medium difficulty";
  } else if ($strength === 3) {
    return "Difficult";
  } else {
    return "Extremely difficult";
  }
}

Сырсөздүн күчү үчүн Python функциясы

def check_password_strength(password):
  # Initialize variables
  strength = 0

  # Check password length
  if len(password) < 8:
    return "Easy to guess"
  else:
    strength += 1

  # Check for mixed case
  if any(char.islower() for char in password) and any(char.isupper() for char in password):
    strength += 1

  # Check for numbers
  if any(char.isdigit() for char in password):
    strength += 1

  # Check for special characters
  if any(not char.isalnum() for char in password):
    strength += 1

  # Return strength level
  if strength < 2:
    return "Easy to guess"
  elif strength == 2:
    return "Medium difficulty"
  elif strength == 3:
    return "Difficult"
  else:
    return "Extremely difficult"

Сырсөздүн күчү үчүн C# функциясы

public string CheckPasswordStrength(string password) {
  // Initialize variables
  int strength = 0;

  // Check password length
  if (password.Length < 8) {
    return "Easy to guess";
  } else {
    strength += 1;
  }

  // Check for mixed case
  if (password.Any(char.IsLower) && password.Any(char.IsUpper)) {
    strength += 1;
  }

  // Check for numbers
  if (password.Any(char.IsDigit)) {
    strength += 1;
  }

  // Check for special characters
  if (password.Any(ch => !char.IsLetterOrDigit(ch))) {
    strength += 1;
  }

  // Return strength level
  if (strength < 2) {
    return "Easy to guess";
  } else if (strength == 2) {
    return "Medium difficulty";
  } else if (strength == 3) {
    return "Difficult";
  } else {
    return "Extremely difficult";
  }
}

Сырсөздүн күчү үчүн Java функциясы

public String checkPasswordStrength(String password) {
  // Initialize variables
  int strength = 0;

  // Check password length
  if (password.length() < 8) {
    return "Easy to guess";
  } else {
    strength += 1;
  }

  // Check for mixed case
  if (password.matches(".*[a-z].*") && password.matches(".*[A-Z].*")) {
    strength += 1;
  }

  // Check for numbers
  if (password.matches(".*\\d.*")) {
    strength += 1;
  }

  // Check for special characters
  if (password.matches(".*[^a-zA-Z\\d].*")) {
    strength += 1;
  }

  // Return strength level
  if (strength < 2) {
    return "Easy to guess";
  } else if (strength == 2) {
    return "Medium difficulty";
  } else if (strength == 3) {
    return "Difficult";
  } else {
    return "Extremely difficult";
  }
}

Эгер сиз жөн гана мыкты сырсөз генераторун издеп жатсаңыз, мен ал үчүн сонун кичинекей онлайн куралды курдум.

Сырсөз генератор

Douglas Karr

Douglas Karr CMO болуп саналат OpenINSIGHTS жана негиздөөчүсү Martech Zone. Дуглас ондогон ийгиликтүү MarTech стартаптарына жардам берди, Martech сатып алууларына жана инвестицияларына 5 миллиард доллардан ашык каражатты текшерүүгө жардам берди жана компанияларга сатуу жана маркетинг стратегияларын ишке ашырууда жана автоматташтырууда жардам берүүнү улантууда. Дуглас эл аралык деңгээлде таанылган санариптик трансформация жана MarTech эксперти жана спикери. Дуглас ошондой эле Dummie's guide жана бизнес лидерлик китебинин басылып чыккан автору.

Тектеш макалалар

Артка жогорку баскычы
жакын

Adblock аныкталды

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