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

验证码的实现

WBOY
WBOYOriginal
2016-06-21 09:07:001083browse

验证码

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









Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn