PHPを用いて開発したモールログイン認証コードの生成手法の解析
電子商取引の急速な発展に伴い、モールサイトの作成が増加しており、モールサイトはセキュリティに注意を払う必要があります。 。 側面。ユーザー登録またはログインプロセス中に、悪意のある攻撃やボット攻撃を防ぐための一般的なソリューションとして検証コードが使用されます。この記事では、PHP を使用して検証コードを生成する方法を開発する方法を紹介し、対応するコード例を示します。
検証コードの基本的な生成プロセスは次のとおりです。
<?php session_start(); // 定义验证码的宽度和高度 $width = 120; $height = 40; // 创建一个空白的画布 $image = imagecreatetruecolor($width, $height); // 生成随机的背景颜色 $bgcolor = imagecolorallocate($image, mt_rand(200,255), mt_rand(200,255), mt_rand(200,255)); imagefill($image, 0, 0, $bgcolor); // 生成随机的验证码字符串 $code = ''; $charset = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; for ($i = 0; $i < 4; $i++) { $code .= $charset[mt_rand(0, strlen($charset)-1)]; } // 将验证码保存到session中,用于后续的验证 $_SESSION['code'] = $code; // 在画布上绘制验证码 $fontcolor = imagecolorallocate($image, 0, 0, 0); imagettftext($image, 20, 0, 30, 30, $fontcolor, 'path/to/font.ttf', $code); // 输出验证码图片 header('Content-Type: image/png'); imagepng($image); // 销毁图片对象 imagedestroy($image); ?>上記のコードは、PHP の GD ライブラリを使用して検証コード イメージを生成します。まず、サイズ
$width と
$height の空のキャンバスを作成し、次にランダムな背景色を生成してキャンバスを塗りつぶします。次に、ランダムな検証コード文字列を生成し、
$_SESSION['code'] に保存します。最後に、指定したフォントと色を使用してキャンバス上に検証コードを描画し、
header() 関数を通じてブラウザに検証コードの画像を出力します。
<?php session_start(); // 获取用户输入的验证码 $user_code = $_POST["code"]; // 获取之前生成的验证码 $code = $_SESSION['code']; // 验证用户输入的验证码是否与之前生成的验证码一致 if (strtolower($user_code) == strtolower($code)) { echo "验证码输入正确!"; } else { echo "验证码输入错误!"; } ?>上記のコードは、まずユーザーが入力した検証コード
$user_code を取得し、次に検証コードを取得します。 from
$_SESSION['code'] で以前に生成された検証コード
$code を取得します。最後に、2 つの認証コードの値を比較することにより、ユーザーが入力した認証コードが正しいかどうかが判断され、対応する応答が行われます。
以上がPHPで開発したモールログイン認証コードの生成方法の解析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。