Maison > développement back-end > tutoriel php > Comment écrire un code de vérification calculable en php

Comment écrire un code de vérification calculable en php

墨辰丷
Libérer: 2023-03-29 22:44:02
original
1146 Les gens l'ont consulté

Cet article présente principalement comment écrire un code de vérification calculable en PHP. Les amis intéressés peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

code demo.php

<?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>
Copier après la connexion

code img.php

<?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"); 
?>
Copier après la connexion

Résumé : C'est tout L'intégralité Nous espérons que le contenu de l'article sera utile à l'étude de chacun.

Recommandations associées :

Comment empêcher les actualisations répétées des pages en php

La fonction get_user_browser() dans PHP ECShop

Méthode d'exécution de données asynchrones PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal