이메일 확인은 확인 코드를 사용자의 이메일 주소로 보내서 신원을 확인하는 방법이며 계정 정보 등록 및 수정과 같은 프로세스에 널리 사용됩니다. 주요 목적은 계정의 진정성과 보안을 보장하고 다른 사람들이 승인없이 정보를 로그인하거나 변조하는 것을 방지하는 것입니다.
우리는 일반적으로 양식 제출을 통해 사용자가 입력 한 이메일 주소를 얻습니다.
$email = $_POST['email']; // 사용자가 입력 한 이메일 주소를 받으십시오
위의 코드는 사용자가 제출 한 게시물 데이터에서 이메일 이라는 필드를 추출합니다.
rand () 함수를 통해 6 자리 검증 코드를 생성하고 php의 mail () 함수를 사용하여 사용자에게 보낼 수 있습니다.
$verify = rand(100000, 999999); // 6 자리 랜덤 검증 코드를 생성합니다
$to = $email; // 수신자 이메일 주소
$subject = "이메일 확인 코드"; // 이메일 주제
$message = "귀하의 검증 코드입니다:" . $verify; // 이메일 내용
$headers = "From: [email protected]"; // 발신자 정보
mail($to, $subject, $message, $headers); // 이메일을 보내십시오
사용자가 수신 된 확인 코드를 작성한 후 다음과 같은 방법으로 확인할 수 있습니다.
if ($_POST['code'] == $verify) {
// 확인이 성공적입니다,등록 또는 수정 작업을 수행하십시오
} else {
echo "확인 코드 입력 오류,다시 입력하십시오!";
}
이메일 확인 외에도 다음 보안 조치를 결합하여 시스템의 보안을 더욱 향상시킬 수 있습니다.
연속 로그인 실패의 수를 제한함으로써 무차별 대입 균열을 효과적으로 방지 할 수 있습니다. 시도가 설정 번호보다 더 많이 실패한 후에는 계정을 일시적으로 동결하거나 추가 확인을 요청할 수 있습니다.
HTTPS 프로토콜을 활성화하면 전송 중에 사용자의 로그인 정보가 도청 또는 변조되지 않도록하여 루트에서의 중간 공격의 위험이 줄어 듭니다.
로그인 인터페이스에 그래픽 검증 코드를 추가하면 자동 스크립트에서 잔인한 시도를 방지 할 수 있습니다. 다음은 그래프 검증 코드를 생성하는 예입니다.
session_start();
$code = rand(1000, 9999); // 4 자리 확인 코드를 생성합니다
$_SESSION['code'] = $code; // 구하다Session
// 검증 코드 사진을 만듭니다
$image = imagecreatetruecolor(60, 20);
$bgcolor = imagecolorallocate($image, 255, 255, 255); // 배경색
imagefill($image, 0, 0, $bgcolor);
$fontcolor = imagecolorallocate($image, 0, 0, 0); // 글꼴 색상
imagestring($image, 5, 10, 4, $code, $fontcolor);
header('content-type:image/png');
imagepng($image);
imagedestroy($image);
생성 된 확인 코드는 사용자 인터페이스에 표시되며 사용자가 입력 한 확인 코드는 세션을 통해 확인됩니다.
이메일 확인, 로그인 제한, SSL 암호화 및 그래픽 검증 코드를 결합하여 계정을 불법적으로 다른 사람이 불법적으로 로그인하지 못하게 할 수 있습니다. 개발자는 시스템 보안 및 사용자 정보의 무결성을 보장하기 위해 자체 시스템의 실제 요구에 따라 포괄적 인 방식으로 위의 방법을 사용하는 것이 좋습니다.