您的位置:首页 > 编程语言 > PHP开发

PHP图形验证码源程序

2008-10-15 18:50 190 查看
本人在一位聂老师的帮助下做出了图形验证码,当然其中的许多代码也是借鉴别人的源码程序。
这是图形验证码的生成PHP源码,这个文件主要是为了生成一个图像验证码。

<?php

//authimg.php

Header("Content-type: image/gif");

session_start();

//生成验证码图片

Header("Content-type: image/PNG");

$im = imagecreatetruecolor(60,18);

$back = ImageColorAllocate($im, 245,245,245);

imagefill($im,0,0,$back); //背景

$string ="ABCDEFGHIJLKMNPQRSTUVWXYZ0123456789";

srand((double)microtime()*1000000);

$vcodes="";

//生成4位数字

for($i=0;$i<6;$i++){

$font = ImageColorAllocate($im, rand(100,255),rand(0,100),rand(100,255));

$authnum=$string[rand(0,34)];

$vcodes.=$authnum;

imagestring($im, 5, 2+$i*10, 1, $authnum, $font);

}

for($i=0;$i<100;$i++) //加入干扰象素

{

$randcolor = ImageColorallocate($im,rand(0,255),rand(0,255),rand(0,255));

imagesetpixel($im, rand()%70 , rand()%30 , $randcolor);

}

ImagePNG($im);

ImageDestroy($im);

$_SESSION['vcodes'] = $vcodes;

?>

然后就在页面中调用上面的图形验证码

<?php

@header("content-type:text/html; charset=UTF-8");

//authpage.php

//打开session

session_start();

?>

<script language="javascript">

function reloadImage(url)

{

document.images["img1"].src=url;

}

</script>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>polaris validate</title>

</head>

<body>

<form action="checkNumber.php" id="form">

<table align="center">

<tr>

<td align="right">Validate :</td>

<td> </td>

<td><input name="imgId" type="text">

<img src="authimg.php" id="imgId" alt="看不清?请刷新" onClick="this.src=this.src+'?'"/> </td>

</tr>

</table>

</form>

</body>

</html>

这样就可以显示出图形验证码,同时还要进行验证,这就进入了验证页面

<?php @header("content-type:text/html; charset=GB2312");

//checkNumber.php

//开启session

session_start();

//得到用户输入的验证码,并转换成大写

$code1=$_SESSION["vcodes"];

$imgId_req = $_REQUEST['imgId'];

$imgId_req = strtoupper($imgId_req);

//验证该字符串是否注册了session变量

if ($imgId_req==$code1) {

echo "<font color=blue >通过验证!</font>";

?>

<script language=javascript>

location.href='http://www.google.com';

</script>

<?php

}

else {

echo "<font color=red >验证错误!</font>";

?>

<script language=javascript>

location.href='authpage.php';

</script>

<?php

exit ;

}

//关闭session,以清除所有注册过的变量

session_destroy();

?>

效果如下:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: