ホームページ >バックエンド開発 >PHPチュートリアル >PHPがWebサイト認証コード機能を実装
この記事では主にPHPでウェブサイト認証コード機能を実装する方法を紹介します。興味のある方はぜひ参考にしてください。
認証コードはウェブサイトでよく使われるセキュリティ対策ですが、初心者のウェブマスターにとって習得が難しいスキルでもあります。ここでは、認証コードを実装するための簡単で効果的な方法を紹介します。
始める前に
正式に始める前に、php の gd2 グラフィックス ライブラリのサポートをオンにする必要があります (php.ini で「php_gd2.dll」を検索し、「;extension=php_gd2.dll」を見つけてポイントを削除します)文の先頭に数字) を付けます。
こちらを参照してください: php
の gd2 ライブラリを開く方法
コア: img.php
このページは検証コードを生成し、正しい値をセッションに書き込みます
ランダムな 4 桁の検証code$check=rand(1000,9999);
将生成的验证码写入session
Session_start(); $_SESSION["check"] = $check;
创建一张图片
$im = imagecreate(80,30);
由于这种图片的背景默认是黑色的所以我们要用白色填充。
imagefill($im,0,0,ImageColorAllocate($im, 255,255,255));
$check=rand(1000,9999);
生成された確認コードをセッションに書き込みます
$im = imagecreate(80,30);
imagefill($im,0,0,ImageColorAllocate($im, 255,255,255));
imageline を使用してランダムに 2 本の実線を描画します
$y1=rand(0,30); $y2=rand(0,30); $y3=rand(0,30); $y4=rand(0,30); imageline($im,0,$y1,70, $y3,000); imageline($im,0,$y2,70, $y4,000);ランダムな位置にテキストを描画します
$strx=rand(3,15); $stry=rand(2,15); imagestring($img,5,$strx,$stry,substr($check,0,1),ImageColorAllocate($img,34,87,100)); $strx+=rand(15,20); $stry=rand(2,15); imagestring($img,5,$strx,$stry,substr($check,1,1),ImageColorAllocate($img,781,117,78)); $strx+=rand(15,20); $stry=rand(2,15); imagestring($img,5,$strx,$stry,substr($check,2,1),ImageColorAllocate($img,160,40,40)); $strx+=rand(15,20); $stry=rand(2,15); imagestring($img,5,$strx,$stry,substr($check,3,1),ImageColorAllocate($img,25,55,10));出力画像
Header("Content-type: image/PNG"); ImagePNG($img);
最後に、完全なコードを示します
ユーザーインターフェース:index.php
やり方は皆さんご存知かと思いますのでコードを直接記載します
<!DOCTYPE html> <html> <body> <form action="action.php" method="post"> <input type="text" name="cikle" placeholder="验证码"> <br> <img id="cikle" style="-webkit-user-select: none" src="img.php"><input type="submit" value="Submit"> </form> </body> </html>上記のコードはユーザーが入力した値を「action.php」に転送しますCheck: action.php
このステップ ユーザー入力値とセッション内の値を比較するには が等しい、出力は「正しい」 が等しくない、出力は「正しくない」
<?php Session_start(); if ($_SERVER["REQUEST_METHOD"] == "POST") { if($_SESSION["check"]!=intval($_POST["cikle"])){ echo "不正确"; }else{ echo "正确"; } }
上記はこの記事の内容全体が、学習を支援するすべての人に役立つことを願っています。関連する推奨事項: ID カードが合法かどうかを確認するための PHP の検証関数
ノードを使用してトークンベースの ID を実装する方法検証
🎜🎜🎜AJAX🎜検証🎜データベースコンテンツは次のようになります。値はページに表示されます 🎜🎜🎜🎜🎜🎜🎜🎜🎜以上がPHPがWebサイト認証コード機能を実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。