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

验证码的实现

WBOY
WBOY原創
2016-06-21 09:07:001084瀏覽

验证码

/******************************************
认证码图片生成文件
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 "失败";
}
?>
验证图









陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn