확인 링크를 위한 고유한 영숫자 문자열 생성
문자와 숫자가 모두 포함된 고유한 무작위 문자열을 생성하는 것이 확인 링크를 위한 안전한 방법입니다. 계정 생성 과정에서 다음은 이 목적으로 사용할 수 있는 두 가지 PHP 함수입니다.
PHP 7(권장)
PHP 7 표준 라이브러리에는 다음을 생성하는 random_bytes() 함수가 포함되어 있습니다. 암호학적으로 안전한 의사 난수 바이트.
$bytes = random_bytes(20); echo bin2hex($bytes);
PHP 5 (구식)
PHP 5의 경우 보안 토큰 생성을 위해 openssl_random_pseudo_bytes()를 사용하는 것이 좋습니다.
echo bin2hex(openssl_random_pseudo_bytes(20));
추가 고려 사항
보안을 강화하고 토큰 추측을 제한하려면 특정 요구 사항을 충족하는 맞춤형 기능. 다음은 이러한 요구 사항을 해결하는 포괄적인 구현입니다.
function crypto_rand_secure($min, $max) { // Calculate and filter random bits $bytes = (int) (($max - $min) / 8) + 1; $bits = (int) log($max - $min, 2) + 1; $filter = (int) (1 << $bits) - 1; do { $rnd = hexdec(bin2hex(openssl_random_pseudo_bytes($bytes))); $rnd &= $filter; } while ($rnd > $range); return $min + $rnd; } function getToken($length) { // Define character set and calculate maximum length $codeAlphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; $max = strlen($codeAlphabet); // edited // Generate token of specified length $token = ""; for ($i = 0; $i < $length; $i++) { $token .= $codeAlphabet[crypto_rand_secure(0, $max-1)]; } return $token; }
이 함수는 rand() 및 mt_rand에 대한 안전한 대안을 제공하여 생성된 토큰을 추측하기 어렵게 하고 원하는 기준을 충족하도록 보장합니다.
위 내용은 PHP에서 확인 링크를 위한 보안 영숫자 문자열을 어떻게 생성할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!