ホームページ  >  記事  >  バックエンド開発  >  PHP GD はイメージ検証コードセッションを生成してストレージ検証コードを取得します

PHP GD はイメージ検証コードセッションを生成してストレージ検証コードを取得します

WBOY
WBOYオリジナル
2016-06-13 12:01:32980ブラウズ

PHP GD は、ストレージ検証コードを取得するためにイメージ検証コード セッションを生成します

PHP によって生成されたイメージ検証コードのケースを共有しましょう: ケースは次のとおりです:


PHP GD の使用方法の詳細については、次を参照してください: http://www.php.net/manual/zh/book.image.php

背景画像のコードは次のとおりです:

<?phpsession_start();$image = imagecreatetruecolor(100,30);//创建一个宽100,高度30的图片$bgcolor=imagecolorallocate($image,255,255,255);//图片背景是白色imagefill($image,0,0,$bgcolor);//图片填充白色//随机数/**for($i=0;$i<4;$i++){  $fontsize=6;  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));  $fontcontent=rand(0,9);  $x=($i*100/4)+ rand(5,10);  $y=rand(5,10);  imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}**///随机数据$captch_code=&#39;&#39;;for($i=0;$i<4;$i++){  $fontsize=6;  $fontcolor=imagecolorallocate($image,rand(0,120),rand(0,120),rand(0,120));  $data=&#39;asdfdfglfg74erf21854hgfhgfhkg4ljkghjtrtywiqpoqpwepdfgvnjytyut12313345645667686797800&#39;;  $fontcontent=substr($data,rand(0,strlen($data)),1);  $captch_code.=$fontcontent;    $x=($i*100/4)+ rand(5,10);  $y=rand(5,10);  imagestring($image,$fontsize,$x,$y,$fontcontent,$fontcolor);}$_SESSION[&#39;authcode&#39;]=$captch_code;//随机点for($i=0;$i<200;$i++){  $pointcolor=imagecolorallocate($image,rand(50,120),rand(50,120),rand(50,120));  imagesetpixel($image,rand(1,99),rand(1,99),$pointcolor);}//随机线for($i=0;$i<3;$i++){  $linecolor=imagecolorallocate($image,rand(80,220),rand(80,220),rand(80,220));  imageline($image,rand(1,99),rand(1,29),rand(1,99),rand(1,29),$linecolor);}header("content-type:image/png");imagepng($image);imagedestory($image);?>

フロントエンド コードは次のとおりです。

<?php   if(isset($_REQUEST[&#39;autocode&#39;])){      session_start();	  if(strtolower($_POST[&#39;autocode&#39;]) == $_SESSION[&#39;authcode&#39;]){	   echo &#39;正确&#39;;	  }else{	  echo&#39;错误&#39;;	  }      exit();   }?><!DOCTYPE html><html>  <head>   <meta chartset="utf-8">  </head>  <body>     <form method="post"  action="form.php">	   <p>验证码图片:<img border="1" src="captcha.php?r="<?php echo rand();?> width="100" height="30"  /></p>	   	   <p>输入内容:<input type="text" name="autocode" value="" /></p>           <p><input type="submit"  value="提交" style="padding:6px 20px;"/></p>         </form>  </body></html>


追加してクリック

  <p>验证码图片:<img border="1" id="capthcha_img" onclick="this.src=&#39;captcha.php?r=&#39;+Math.random()" src="captcha.php?r="<?php echo rand();?> width="100" height="30"  /> <a href="javascript:void(0)" onclick="document.getElementById(&#39;capthcha_img&#39;).src=&#39;captcha.php?r=&#39;+Math.random()">换一个</a></p>


このケースはオリジナルです。再印刷する場合はその旨を明記してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。