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

Құпия сөздің беріктігін JavaScript немесе jQuery және тұрақты өрнектермен тексеріңіз (сервер жағындағы мысалдармен де!)

Мен қолданатын құпия сөздің беріктігін тексерушінің жақсы үлгісін іздестіру бойынша біраз зерттеулер жүргіздім JavaScript және Тұрақты өрнектер (Регекс). Менің жұмысымдағы қолданбада біз құпия сөздің күшін тексеру үшін пост жасаймыз және бұл біздің пайдаланушыларымыз үшін өте ыңғайсыз.

Regex дегеніміз не?

Тұрақты өрнек - бұл іздеу үлгісін анықтайтын таңбалар тізбегі. Әдетте мұндай заңдылықтар үшін іздеу алгоритмі қолданылады табу or табу және ауыстыру жолдардағы операциялар немесе кірісті тексеру үшін. 

Бұл мақала сізге тұрақты тіркестерді үйретпейтіні сөзсіз. Тек тұрақты өрнектерді қолдану мүмкіндігі мәтіннен үлгілерді іздеу кезінде сіздің дамуыңызды мүлдем жеңілдететінін біліңіз. Даму тілдерінің көпшілігі экспрессияның тұрақты қолданысын оңтайландырғанын ескеру қажет ... сондықтан жолдарды кезең-кезеңімен талдауға және іздеуге қарағанда, Regex әдетте серверде де, клиентте де жылдамырақ болады.

Мен интернетті таппас бұрын біраз іздедім мысалы ұзындықтың, таңбалардың және таңбалардың тіркесімін іздейтін кейбір тамаша Тұрақты өрнектер. Дегенмен, код менің талғамым үшін аздап шамадан тыс болды және .NET үшін бейімделді. Сондықтан мен кодты жеңілдетіп, оны JavaScript-ге қойдым. Бұл оны кері жарияламас бұрын клиент браузерінде нақты уақыт режимінде құпия сөз күшін тексеруге мүмкіндік береді... және пайдаланушыға құпия сөздің күші туралы кейбір кері байланыс береді.

Құпия сөзді теріңіз

Пернетақтаның әр соққысы кезінде пароль кәдімгі сөйлемге қарсы тексеріліп, содан кейін пайдаланушыға оның арасына кері байланыс беріледі.

JavaScript құпия сөзінің күші функциясы

The Тұрақты өрнектер кодтың ұзындығын азайту үшін керемет жұмыс жасаңыз. Бұл JavaScript функциясы құпия сөздің күшін және оны табу оңай, орташа, қиын немесе өте қиын екенін тексереді. Адам теріп жатқанда, ол оны күштірек болуға шақыратын кеңестерді көрсетеді. Ол құпия сөзді келесіге негіздейді:

  • ұзындық – Ұзындығы 8 таңбадан аз немесе одан көп болса.
  • Аралас жағдай – Құпия сөзде бас және кіші әріптер болса.
  • Numbers – Құпия сөзде сандар болса.
  • Ерекше кейіпкерлер – Құпия сөзде арнайы таңбалар болса.

Функция қиындықты, сондай-ақ құпия сөзді одан әрі қатайту бойынша кейбір кеңестерді көрсетеді.

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 Password Strength функциясы

jQuery көмегімен пішінді енгізуді жаңартумен жазудың қажеті жоқ:

<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 Сізге бұл мазмұнды ақысыз ұсына алады, өйткені біз сайтымызды жарнамадан түсетін табыс, серіктестік сілтемелері және демеушілік арқылы монетизациялаймыз. Сайтымызды көрген кезде жарнама блокаторын алып тастасаңыз, біз ризамыз.