ホームページ  >  記事  >  バックエンド開発  >  PHP はスノーフレークを使用して Web サイト検証コードを生成します。background_PHP チュートリアル

PHP はスノーフレークを使用して Web サイト検証コードを生成します。background_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-21 14:52:21967ブラウズ

以下、引用内容です

<フォームメソッド=ポストアクション=""> <入力タイプ=テキスト名=数値最大長=4> if(isset($HTTP_POST_VARS["sub"])):
if($HTTP_POST_VARS["number"] != $HTTP_SESSION_VARS[login_check_number] || empty($HTTP_POST_VARS["number"])){
echo 「チェックコードが間違っています!」 }その他{
echo "検証コードが合格しました!"
}
エンディフ
show_source('test.php'); //上記ページのソースコード


//以下は検証コード生成用のソースコードです
show_source('YanZhengMa.php'); ?>
セッション開始(); session_register("ログインチェック番号"); //昨夜、chianren で検証コードの効果を見たので、それを考えて、PHP の GD ライブラリを使用して同様の関数を完成させました
//最初に背景を生成し、生成された検証コードを配置します
$img_height=120; //まず画像の長さと幅を定義します

$img_width=40; if($HTTP_GET_VARS["act"]== "初期化"){

//srand(microtime() * 100000);//PHP420以降はsrandは不要になります
for($Tmpa=0;$Tmpa $nmsg.=dechex(rand(0,15)); }//スポーツ98によります


$HTTP_SESSION_VARS[ログインチェック番号] = $nmsg;

//$HTTP_SESSION_VARS[login_check_number] = strval(mt_rand("1111","9999")); //4 桁の乱数を生成し、セッションに入力します
//文字と数字を同時に生成できるものを誰が追加できるでしょうか? ? ----sports98 により完了

$aimg = imageCreate($img_height,$img_width); //画像を生成します
ImageColorAllocate($aimg, 255,255,255); //画像の背景色。ImageColorAllocate が最初に色を定義するとき、PHP はそれを背景色と見なします
$black = ImageColorAllocate($aimg, 0,0,0) //必要な黒を定義します
; ImageRectangle($aimg,0,0,$img_height-1,$img_width-1,$black);//まず画像を囲む黒い四角形を作成します

//今度は雪の結晶の背景を生成します。実際には画像上にいくつかのシンボルを生成します

for ($i=1; $i ImageString($aimg,1,mt_rand(1,$img_height),mt_rand(1,$img_width),"*",imageColorAllocate($aimg,mt_rand(200,255),mt_rand(200,255),mt_rand(200,255))); //ほら、これは実際には雪の結晶ではなく、ただの * 記号です。それらを「乱雑でカラフル」に見せるには、それらを 1 つずつ生成するときに、位置、色、さらにはサイズに乱数を使用する必要があります。これは rand() または mt_rand を使用して行うことができます。
}

//上記で背景が生成されました。生成された乱数を配置します。原理は上記と同様で、ランダムな数字が1つずつ配置され、その位置、サイズ、色はすべてランダムな数字になります~~
//背景と区別するために、ここの色は 200 を超えてはならず、上の色は 200 未満であってはなりません

for ($i=0;$i imageString($aimg, mt_rand(3,5),$i*$img_height/4+mt_rand(1,10),mt_rand(1,$img_width/2), $HTTP_SESSION_VARS[login_check_number][$i],imageColorAllocate($目標,mt_rand(0,100),mt_rand(0,150),mt_rand(0,200))); }
Header("Content-type: image/png"); // 次のデータがテキストではなく画像であることをブラウザに伝えます
ImagePng($aimg); //png形式を生成します。 。 。ふふ、効果はかなり似ていますね。 。 。
画像破壊($aimg); }

?>

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/371610.html技術記事以下は引用された内容です: ?session_start();? FORM METHOD=POST ACTION= input type=text name=number maxlength=4img src=YanZhengMa.php?act=init INPUT TYPE=submit name=sub //チェックしてください...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。