ホームページ  >  記事  >  バックエンド開発  >  PHPを使ったWebサイト認証コードのファンクションコードを詳しく解説

PHPを使ったWebサイト認証コードのファンクションコードを詳しく解説

黄舟
黄舟オリジナル
2017-03-07 09:48:562314ブラウズ

この記事では主にphpを使ってWebサイト認証コード機能を実装する方法を紹介します。非常に優れた参考値となっていますので、以下のエディターで見てみましょう

認証コードはWebサイトでよく使われるセキュリティ対策ですが、新人Webマスターにとっては習得が難しいスキルでもあります。シンプルで効果的な検証コードの実装方法を紹介します。

始める前に

正式に始める前に、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 "正确";
 }
}
🎜🎜🎜🎜 上記は詳細な説明ですPHP を使用した Web サイト検証コード関数コードの詳細については、PHP 中国語 Web サイト (www.php.cn) に注目してください。 🎜🎜🎜🎜🎜🎜🎜
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。