Heim >Backend-Entwicklung >PHP-Tutorial >So schreiben Sie einen berechenbaren Verifizierungscode in PHP

So schreiben Sie einen berechenbaren Verifizierungscode in PHP

墨辰丷
墨辰丷Original
2018-06-06 10:33:381131Durchsuche

Dieser Artikel stellt hauptsächlich vor, wie man einen berechenbaren Verifizierungscode in PHP schreibt. Interessierte Freunde können sich darauf beziehen. Ich hoffe, dass er für alle hilfreich ist.

demo.php-Code

<?php 
session_start(); 
if(!emptyempty($_POST[&#39;Login&#39;])){ 
  if(md5(strtoupper($_POST[&#39;Login&#39;])) == $_SESSION[&#39;Login&#39;]){ 
    echo &#39;Correct&#39;; 
  }else{ 
    echo &#39;Error&#39;;   
  } 
} 
?> 
 
<form method="post"> 
  <input type="text" name="Login" value="" /><img src="img.php?Action=Login&imgW=80&imgH=30" align="absmiddle"> 
  <input type="submit" value="Login" /> 
</form>

img.php-Code

<?php 
session_start(); 
 /** 
* 随机的数字,之和验证码 
* 修改日期 2006-12-20 
*/ 
function getCode ($length = 32, $mode = 0) 
{ 
switch ($mode) 
{ 
   case &#39;1&#39;: 
     $str = &#39;123456789&#39;; 
      break; 
 case &#39;2&#39;: 
      $str = &#39;abcdefghijklmnopqrstuvwxyz&#39;; 
      break; 
 case &#39;3&#39;: 
      $str = &#39;ABCDEFGHIJKLMNOPQRSTUVWXYZ&#39;; 
      break; 
 case &#39;4&#39;: 
      $str = &#39;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz&#39;; 
      break; 
 case &#39;5&#39;: 
      $str = &#39;ABCDEFGHIJKLMNPQRSTUVWXYZ123456789&#39;; 
      break; 
    case &#39;6&#39;: 
      $str = &#39;abcdefghijklmnopqrstuvwxyz1234567890&#39;; 
      break; 
    default: 
      $str = &#39;ABCDEFGHIJKLMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789&#39;; 
      break; 
} 
 
$result = &#39;&#39;; 
$l = strlen($str)-1; 
for($i = 0;$i < $length;$i ++) 
{ 
 $num = rand(0, $l); 
 $result .= $str[$num]; 
} 
return $result; 
} 
//建立验证图片 
function createAuthNumImg($randStr,$imgW=100,$imgH=40,$fontName) 
{ 
header ("content-type: image/png"); 
$image = imagecreate($imgW , $imgH); 
$color_white = imagecolorallocate($image , 255 , 255 , 255); 
$color_gray = imagecolorallocate($image , 228 , 228 , 228); 
$color_black = imagecolorallocate($image , 255 , 102 , 204); 
for ($i = 0 ; $i < 1000 ; $i++) 
{ 
 imagesetpixel($image , mt_rand(0 , $imgW) , mt_rand(0 , $imgH) , $color_gray); 
} 
imagerectangle($image , 0 , 0 , $imgW - 1 , $imgH - 1 , $color_gray); 
for ($i=10;$i<$imgH;$i+=10) 
 imageline($image, 0, $i, $imgW, $i, $color_gray); 
imagettftext($image,16,5,3,25,$color_black,$fontName,$randStr); 
for ($i=10;$i<$imgW;$i+=10) 
 imageline($image, $i, 0, $i, $imgH, $color_gray); 
imagepng($image); 
imagedestroy($image); 
} 
 
$a=GetCode(1,1); 
$b=GetCode(1,1); 
$c=GetCode(1,1); 
$Passport=$a."+".$b."+".$c; 
$Total=$a+$b+$c; 
$Total; 
$_SESSION[$_GET[&#39;Action&#39;]]=md5(strtoupper($Total)); 
createAuthNumImg($Passport,$_GET[&#39;imgW&#39;],$_GET[&#39;imgH&#39;],"verdana.ttf"); 
?>

Zusammenfassung: Das Obige ist der gesamte Inhalt davon Ich hoffe, dass dieser Artikel für das Studium aller hilfreich sein kann.

Verwandte Empfehlungen:

Wie man wiederholte Seitenaktualisierungen in PHP verhindert

Die Funktion der get_user_browser()-Funktion in PHP ECShop

PHP-Methode zur asynchronen Datenausführung

Das obige ist der detaillierte Inhalt vonSo schreiben Sie einen berechenbaren Verifizierungscode in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn