>백엔드 개발 >PHP 튜토리얼 >비밀번호 복잡성을 확인하는 PHP 정규식 방법

비밀번호 복잡성을 확인하는 PHP 정규식 방법

WBOY
WBOY원래의
2023-06-24 09:09:091751검색

네트워크 보안 인식이 점차 향상되면서 많은 웹사이트에서 사용자에게 복잡한 비밀번호를 사용하도록 요구하기 시작했습니다. 널리 사용되는 프로그래밍 언어인 PHP에는 비밀번호의 복잡성을 확인하기 위한 해당 방법이 당연히 필요합니다. 이 기사에서는 PHP 정규식을 사용하여 비밀번호 복잡성을 확인하는 방법을 소개합니다.

1. 비밀번호 복잡성 요구 사항

비밀번호 복잡성 확인을 위한 정규식을 설계하기 전에 먼저 비밀번호 복잡성 요구 사항을 결정해야 합니다. 일반적으로 비밀번호 복잡성 요구 사항에는 다음 측면이 포함됩니다.

  1. 비밀번호 길이: 비밀번호 길이는 특정 값(일반적으로 8~16자)보다 작을 수 없습니다.
  2. 문자 유형: 비밀번호에는 대문자, 소문자, 숫자 및 특수 문자(예: !@#$%^&*()_+-=[]{}|;':",./a8093152e673feb7aba1828c43532094 ?) 그 중 3개 이상은 사용할 수 없습니다.
  3. 비밀번호에는 일반 비밀번호(예: 123456, admin 등)가 포함될 수 없습니다.

2. 비밀번호 복잡성을 확인하는 PHP 정규식 방법

  1. 확인하세요. 비밀번호 길이
  2. . 정규식을 사용하여 비밀번호 길이를 확인하는 것은 매우 간단합니다. ".{8,16}"을 사용하면 됩니다. 그 중 마침표는 모든 문자와 일치할 수 있다는 의미이며, 곱슬머리에 8이 포함됩니다. 괄호는 최소 8자, 16자가 일치해야 함을 의미합니다. 최대 16자가 일치할 수 있음을 나타냅니다.

샘플 코드:

if(preg_match('/.{8,16}/',$password)){
  echo '密码长度符合要求';
}else{
  echo '密码长度不符合要求';
}

비밀번호 문자 유형 확인
  1. 비밀번호 문자 유형 확인은 복잡하며 다음이 필요합니다. 정규식에서 "[]"를 사용하여 일치하는 문자 집합을 나타냅니다. 방법은 다음과 같습니다.
//验证是否包含数字
if(preg_match('/[0-9]+/',$password)){
  $score++;
}

//验证是否包含小写字母
if(preg_match('/[a-z]+/',$password)){
  $score++;
}

//验证是否包含大写字母
if(preg_match('/[A-Z]+/',$password)){
  $score++;
}

//验证是否包含特殊字符
if(preg_match('/[!@#$%^&*()_+-=[]{}|;:'",./<>?]+/',$password)){
  $score++;
}

if($score>=3){
  echo '密码复杂度符合要求';
}else{
  echo '密码复杂度不符合要求';
}

위 코드에서는 여러 정규식을 사용하여 비밀번호가 요구 사항을 충족하는지 확인합니다. 괄호 "[]"는 일치하는 문자 집합을 나타내고 더하기 기호 "+"는 문자 집합이 한 번 이상 나타남을 나타냅니다.

공통 비밀번호 포함 여부 확인
  1. 또한 비교적 간단합니다. "or" 관계를 나타내려면 정규식에 "|"만 사용하면 됩니다. 구체적인 구현 방법은 다음과 같습니다.
//常用密码列表
$commonPasswords = array('123456','admin','password','qwerty','12345678');

//验证密码是否为常用密码
if(preg_match('/('.implode('|', $commonPasswords).')/i', $password)){
  echo '密码为常用密码';
}else{
  echo '密码不为常用密码';
}

위 코드에서는 implode 함수를 사용하여 요소를 연결합니다. 일반적으로 사용되는 비밀번호 목록에서 정규식을 구성하기 위해 괄호 "()"는 일치하는 항목이 문자열임을 나타냅니다.

3. PHP 정규식을 사용하여 비밀번호 복잡성을 확인하는 방법에는 주로 비밀번호 길이, 비밀번호 문자 유형 및 일반 비밀번호가 포함되어 있는지 확인하는 것이 포함됩니다.

사용자.

위 내용은 비밀번호 복잡성을 확인하는 PHP 정규식 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.