Heim >Backend-Entwicklung >PHP-Tutorial >Digitaler PHP-Verifizierungscode

Digitaler PHP-Verifizierungscode

WBOY
WBOYOriginal
2016-07-29 09:11:301270Durchsuche

Es ist sehr praktisch, Verifizierungscode in PHP zu implementieren. Der entscheidende Punkt besteht darin, die Verwendung der PHP-GD-Bibliothek und -Sitzung zu beherrschen.

Wenn man sich die Beispiele für die Generierung von Verifizierungscodes durch PHP im Internet ansieht, wird alles durch die Kombination der PHP-gd-Bibliothek mit der Sitzung und die Verwendung von PHP zur Generierung von Zufallszahlen erreicht.

PHP-Verifizierungscodes können in viele Typen unterteilt werden, einschließlich PHP-Bildverifizierungscodes, PHP-Zufallsverifizierungscodes und PHP-chinesischen Verifizierungscodes usw. Je nach Anwendungssituation werden unterschiedliche Verifizierungscodes verwendet.

Hier ist ein digitaler PHP-Bestätigungscode als Referenz.

1, digitaler Bestätigungscode

/* 
*Filename:authpage.php 
*/  
session_start();  
//srand((double)microtime()*1000000);  
$authnum=$_SESSION['authnum'];  
//验证用户输入是否和验证码一致  
if(isset($_POST['authinput']))  
{  
if(strcmp($_POST['authinput'],$_SESSION['authnum'])==0)  
echo"验证成功!";  
else  
echo"验证失败!";  
}  
  
  
//生成新的四位整数验证码  
  
  
//while(($authnum=rand()%10000)<1000);  
?>  
<formaction=test4.phpmethod=post>  
<table>  
请输入验证码:<inputtype=textname=authinputstyle="width:80px"><br>  
<inputtype=submitname="验证"value="提交验证码">  
<inputtype=hiddenname=authnumvalue=<?echo$authnum;?>>  
<imgsrc=authimg.php?authnum=<?echo$authnum;?>>  
</table>  
</form>  

 authimg.php

<?php  
//生成验证码图片  
Header("Content-type:image/PNG");  
srand((double)microtime()*1000000);//播下一个生成随机数字的种子,以方便下面随机数生成的使用  
  
session_start();//将随机数存入session中  
$_SESSION['authnum']="";  
$im=imagecreate(62,20);//制定图片背景大小  
  
$black=ImageColorAllocate($im,0,0,0);//设定三种颜色  
$white=ImageColorAllocate($im,255,255,255);  
$gray=ImageColorAllocate($im,200,200,200);  
  
imagefill($im,0,0,$gray);//采用区域填充法,设定(0,0)  
  
while(($authnum=rand()%100000)<10000);  
//将四位整数验证码绘入图片  
// www.jbxue.com  
$_SESSION['authnum']=$authnum;  
imagestring($im,5,10,3,$authnum,$black);  
//用col颜色将字符串s画到image所代表的图像的x,y座标处(图像的左上角为0,0)。  
//如果font是1,2,3,4或5,则使用内置字体  
  
for($i=0;$i<200;$i++)//加入干扰象素  
{  
$randcolor=ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));  
imagesetpixel($im,rand()%70,rand()%30,$randcolor);  
}  
ImagePNG($im);  
ImageDestroy($im);  
?> 

Das Obige hat den PHP-Digital-Verifizierungscode vorgestellt, einschließlich verschiedener Aspekte. Ich hoffe, dass er für Freunde hilfreich sein wird, die sich für PHP-Tutorials interessieren.

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