ヒューマンマシン検証コードは、悪意のあるロボット攻撃や悪意のある登録を効果的に防止できる検証コードの一般的に使用される形式です。 PHP はサーバーサイド言語として、ヒューマンマシン検証コード機能の実装に非常に適しています。この記事では、PHPを使用して人間と機械の検証コードを実装する方法を紹介します。
以下は、検証コード イメージを生成するコード例です。
<?php session_start(); $code = rand(1000, 9999); $_SESSION["code"] = $code; $width = 100; $height = 50; $image = imagecreatetruecolor($width, $height); $textColor = imagecolorallocate($image, 0, 0, 0); //设置文本颜色 $bgColor = imagecolorallocate($image, 255, 255, 255); //设置背景颜色 imagefilledrectangle($image, 0, 0, $width, $height, $bgColor); //绘制矩形背景 //绘制验证码字符串 $font = 'arial.ttf'; //字体 $fontSize = 24; //字体大小 $x = 20; //x轴位置 $y = 30; //y轴位置 for ($i = 0; $i < 4; $i++) { $char = substr(str_shuffle("ABCDEFGHJKMNPQRSTUVWXYZ23456789"), 0, 1); imagettftext($image, $fontSize, rand(-15, 15), $x, $y, $textColor, $font, $char); $x += 20; } header('Content-type: image/png'); imagepng($image); imagedestroy($image); ?>
このコードは、サーバー側で検証コード イメージを生成し、ブラウザに出力して表示します。
以下はユーザー入力を検証するコード例です:
<?php session_start(); if($_POST["code"] != $_SESSION["code"]) { echo "验证码输入错误"; } else { echo "验证码输入正确"; } ?>
このコードは、ユーザーが送信した検証コードがセッションに保存された検証コードと同じかどうかを検証します。 。一致しない場合はエラー メッセージが出力され、一致する場合はユーザーの入力が正しいことを意味します。
以下は、ヒューマンマシン検証コードをフォームに埋め込むコード例です:
<form method="post" action="verify.php"> <p>用户名:</p> <input type="text" name="username"> <p>密码:</p> <input type="password" name="password"> <p>验证码:</p> <input type="text" name="code"> <img src="code.php" alt="验证码"> <input type="submit" value="提交"> </form>
このコードは、検証コードを表示する画像をフォームに追加します。ユーザーはフォームを送信するには、画像に表示されている確認コードを入力する必要があります。送信ボタンをクリックすると、フォームは検証スクリプトコードにジャンプし、検証を実行します。
概要
この記事では、PHP を使用してヒューマン マシン検証コードを実装する方法を紹介します。検証コードイメージを生成してセッションに保存することで、悪意のある攻撃や登録を効果的に防ぐことができます。人間と機械による検証コードをフォームに埋め込むと、Web サイトのセキュリティとユーザー エクスペリエンスを効果的に向上させることができます。
以上がPHP を使用してヒューマンマシン検証コードを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。