Maison  >  Article  >  développement back-end  >  Comment vérifier le format du mot de passe avec l'expression régulière PHP

Comment vérifier le format du mot de passe avec l'expression régulière PHP

PHPz
PHPzoriginal
2023-06-24 10:28:402277parcourir

La vérification du mot de passe a toujours été une partie très importante du développement Web. Afin de garantir que le mot de passe saisi par l'utilisateur répond aux exigences de sécurité, nous devons généralement définir certaines règles de format de mot de passe et vérifier le mot de passe saisi par l'utilisateur. En PHP, l'utilisation d'expressions régulières est une solution courante. Nous expliquerons ci-dessous comment utiliser les expressions régulières PHP pour vérifier le format du mot de passe.

  1. Exigence de longueur du mot de passe

La longueur du mot de passe est un indicateur important de la force du mot de passe. Habituellement, nous définissons la longueur minimale du mot de passe requise entre 6 et 8. personnages. À l'aide d'expressions régulières PHP, nous pouvons utiliser le code suivant pour vérifier la longueur du mot de passe :

$password = "u5er#123";
if (preg_match('/.{6,8}/', $password)) {
    echo "密码合法";
} else {
    echo "密码长度要求为6-8个字符";
}

Le code ci-dessus utilise la syntaxe "{}" dans les expressions régulières pour définir la plage de longueur du mot de passe. Parmi eux, « 6,8 » signifie que la longueur du mot de passe est d'au moins 6 caractères et d'au plus 8 caractères.

  1. Les mots de passe doivent contenir des chiffres, des lettres et des symboles

Afin de rendre les mots de passe plus complexes et difficiles à deviner, nous exigeons généralement que les mots de passe contiennent des chiffres, des lettres et des symboles. À l'aide d'expressions régulières PHP, nous pouvons utiliser le code suivant pour vérifier si le mot de passe contient des chiffres, des lettres et des symboles :

$password = "u5er#123";
if (preg_match('/^(?=.*[0-9])(?=.*[a-zA-Z])(?=.*[!@#$%^&*]).{6,8}$/', $password)) {
    echo "密码合法";
} else {
    echo "密码需要包含数字、字母和符号";
}

Le code ci-dessus utilise plusieurs combinaisons d'expressions dans des expressions régulières pour vérifier les nombres séparément, le présence de lettres et de symboles.

  • ^(?!.[W_])(?=.[a-z])(?=.[A-Z])( ?=.d).{6,8}$

Cette déclaration peut correspondre à des mots de passe d'une longueur minimale de 6 caractères et d'une longueur maximale de 8 caractères. Ce mot de passe doit contenir au moins une lettre minuscule, une lettre majuscule et un chiffre. Tous les caractères non alphanumériques sont exclus et la casse est ignorée.

  1. Les mots de passe ne peuvent pas contenir de noms d'utilisateur ou de mots courants du dictionnaire

Afin d'améliorer davantage la sécurité des mots de passe, nous exigeons généralement que les mots de passe ne puissent pas contenir le compte de l'utilisateur nom ou mots courants du dictionnaire. À l'aide d'expressions régulières PHP, nous pouvons utiliser le code suivant pour vérifier si le mot de passe contient le compte utilisateur ou des mots courants du dictionnaire :

$username = "user";
$password = "user@123";
if (preg_match("/^.*(?=.{6,})(?=.*d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$/", $password) && !(preg_match("/$username/i", $password))) {
    echo "密码符合要求";
} else {
    echo "密码必须包含数字、小写字母、大写字母、符号,且不能包含用户名";
}

Le code ci-dessus utilise une combinaison de deux expressions régulières pour vérifier la légitimité du mot de passe, où la première expression régulière vérifie que le mot de passe est conforme aux exigences générales de format, tandis que la deuxième expression régulière vérifie que le mot de passe contient le compte utilisateur.

Summary

La vérification du mot de passe est une partie très importante du développement Web. Elle peut être vérifiée en ajoutant la longueur du mot de passe, le type de caractère, la vérification du nom d'utilisateur, la vérification du vocabulaire commun et d'autres vérifications. méthodes. Vérifiez le mot de passe saisi par l’utilisateur. Cette logique de vérification de mot de passe peut être facilement implémentée à l’aide d’expressions régulières PHP, améliorant ainsi la sécurité et la fiabilité des applications.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn