인터넷의 인기가 높아짐에 따라 사용자 로그인 및 등록 기능은 대부분의 웹 사이트 및 응용 프로그램의 표준 구성 요소가되었습니다. 그러나 악의적 인 사용자가 증가함에 따라 사용자의 진위를 보장하고 스팸 계정 등록을 방지하는 방법이 중요한 문제가되었습니다. 이메일 확인은 악의적 인 사용자가 등록 및 로그인하는 것을 효과적으로 방지 할 수있는 일반적인 확인 방법입니다.
먼저, 사용자의 사서함 정보를 저장하려면 데이터베이스에 테이블을 만들어야합니다. 간단한 데이터베이스 테이블 구조는 다음과 같습니다.
CREATE TABLE users (
id INT AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255) NOT NULL,
verification_code VARCHAR(255) NOT NULL,
is_verified TINYINT(1) DEFAULT 0
);
이 표에서는 사용자의 ID, 이메일, 확인 코드 및 확인 상태를 저장합니다. 사용자가 등록하면 시스템이 확인 코드를 생성하여 사용자의 이메일 주소로 보냅니다.
사용자 등록 기능을 구현할 때 다음 단계가 필요합니다.
다음은 PHP 등록 기능을위한 샘플 코드입니다.
<?php
// 사용자가 입력 한 이메일 주소를 받으십시오
$email = $_POST['email'];
// 이메일 형식이 유효한지 확인하십시오
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
echo '잘못된 이메일 주소';
exit;
}
// 이메일이 등록되어 있는지 확인하십시오
$existingUser = $db->query("SELECT * FROM users WHERE email = '$email'")->fetch(PDO::FETCH_ASSOC);
if ($existingUser) {
echo '이 이메일이 등록되었습니다';
exit;
}
// 검증 코드를 생성합니다
$verificationCode = md5(uniqid(rand(), true));
// 검증 코드를 데이터베이스에 저장하십시오
$db->query("INSERT INTO users (email, verification_code) VALUES ('$email', '$verificationCode')");
// 확인 코드를 사용자 이메일로 보냅니다
$subject = '이메일 확인';
$message = '귀하의 검증 코드입니다:' . $verificationCode;
$headers = 'From: noreply@example.com';
mail($email, $subject, $message, $headers);
echo '이메일을 확인하고 확인 코드를 입력하여 확인하십시오.';
?>
이 코드에서는 PHP의 filter_var () 함수를 사용하여 사서함 형식을 확인하고 사서함이 등록되었는지 확인합니다. 이메일 주소가 유효하고 등록 레코드가없는 경우 시스템은 확인 코드를 생성하여 데이터베이스에 저장하고 Mail () 함수를 사용하여 확인 코드를 사용자에게 보냅니다.
사용자가 확인 코드를 수신 한 후에는 확인을 위해 확인 코드를 입력해야합니다. 다음은 확인 기능을 구현하는 단계입니다.
다음은 PHP Verification Code Verification의 샘플 코드입니다.
<?php
// 사용자가 입력 한 확인 코드를 가져옵니다
$verificationCode = $_POST['verification_code'];
// 확인 코드가 일관된 지 확인하십시오
$existingUser = $db->query("SELECT * FROM users WHERE verification_code = '$verificationCode'")->fetch(PDO::FETCH_ASSOC);
if (!$existingUser) {
echo '확인 코드가 올바르지 않습니다';
exit;
}
// 사용자 확인 상태를 업데이트합니다
$db->query("UPDATE users SET is_verified = 1 WHERE verification_code = '$verificationCode'");
echo '이메일 주소를 성공적으로 확인했습니다';
?>
이 코드에서는 데이터베이스를 쿼리하고 사용자가 입력 한 확인 코드와 일치하는 레코드를 찾습니다. 일치가 발견되면 사용자의 확인 상태가 확인되도록 업데이트됩니다.
위의 단계를 통해 악의적 인 사용자가 로그인하고 등록하는 것을 효과적으로 방지하기 위해 간단한 사서함 확인 시스템을 구현했습니다. 실제 프로젝트에서는 비밀번호 강도 요구 사항, IP 제한 및 다중 인자 검증과 같은 더 많은 보안 측정을 결합하여 보안을 더욱 향상시킬 수 있습니다.
이메일 확인은 사용자 등록의 진위를 향상시킬뿐만 아니라 웹 사이트의 보안을 향상시킬 수 있습니다. 이 기사가 악의적 인 사용자가 로그인하고 등록하는 것을 방지하기 위해 PHP에서 사서함 확인을 구현하는 방법을 이해하는 데 도움이되기를 바랍니다.