Heim >php教程 >php手册 >验证码的实现

验证码的实现

WBOY
WBOYOriginal
2016-06-21 09:07:001084Durchsuche

验证码

/******************************************
认证码图片生成文件
Programmed by SurfChen,http://yubeinet.com
以下define部分可自行修改
******************************************/
define("CON_number",5);//产生的字符数目
define("CON_image_width",100);//图宽
define("CON_image_height",20);//图高
define("CON_image_string","0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz");//所要建立的验证字符串包含字符
header("Content-type:image/png");//输出图象头信息
session_start();
if ($_SESSION['num'])
{
unset($_SESSION['num']);//注销上一次的图片验证码
}
$im=imagecreate(CON_image_width,CON_image_height);//建立图象
$black=imagecolorallocate($im,0,0,0);//建立黑色标志符
$white=imagecolorallocate($im,255,255,255);//建立白色标志符
$gray=imagecolorallocate($im,200,200,200);//建立灰色标志符
imagefill($im,86,30,$black);//填充图象
for($i=0;$i{
$randcolor=imagecolorallocate($im,rand(100,255),rand(100,255),rand(100,255));//建立一个随机图象颜色标志符
imagesetpixel($im, rand(0,CON_image_width),rand(0,CON_image_height),$randcolor);//用上一行建立的标志符描点,点的坐标为随机
}
for($i=0;$i{
imageline($im,rand(0,CON_image_width),rand(0,CON_image_height),rand(0,CON_image_width),rand(0,CON_image_height),$gray);//以随机坐标画线
}
for($i=0;$i{
$authnum.=substr(CON_image_string,rand(0,61),1);//建立验证字符串
}
$_SESSION['num']=$authnum;//把字符串写入SESSION以待验证
imagestring($im, 5,10, 0,$authnum,$white);//把字符串写入图片
imagepng($im);//输出图片
imagedestroy($im);//注销图片资源
exit();//终止脚本
mssql_init
?>



ob_start()
?>



实现验证图功能[GD+SESSION]









session_start();
if (!empty($_SESSION['num']) and !empty($_SESSION['num']) and $_SESSION['num']==$_POST['number']){
echo '成功';
}elseif (!empty($_POST['number'])){
echo "失败";
}
?>
验证图









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