電子メールの確認は、検証コードをユーザーのメールアドレスに送信して身元を確認する方法であり、アカウント情報の登録と変更などのプロセスで広く使用されています。その主な目的は、アカウントの信ity性とセキュリティを確保し、他の人が許可なしに情報をログインしたり改ざんしたりすることを防ぐことです。
通常、フォームの提出を通じてユーザーが入力したメールアドレスを取得します。たとえば
$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暗号化、グラフィック検証コードを組み合わせることにより、アカウントは、他の人が違法にログインすることを効果的に防ぐことができます。開発者は、システムのセキュリティとユーザー情報の整合性を確保するために、独自のシステムの実際のニーズに基づいて、上記の方法を包括的な方法で使用することをお勧めします。