1、验证码一般是由后台生成的图片,如果用HTML制作的话很容易被软件获取,如果要用HTML的话就用javascript生成随机数。
2、在写一个英文字母的数组,用随机数来取下标吧,如果只用数字验证码的话随机数就可以,不过验证码不建议用javascript制作。
在html中的文本框中加入验证码,可以通过以下代码实现:验证码通过GD生成PNG图片,并把$randval随机数字赋给$_SESSION['login_check_num'],在通过用户输入的$_POST进行比较,来判断是否正确。达到需要实现的功能,需要修改php.ini文件,使php支持GD库。 <?php//调用此页面,如果下面的式子成立,则生成验证码图片if($_GET["action"]=="verifycode"){rand_create()}//验证码图片生成function rand_create(){//通知浏览器将要输出PNG图片Header("Content-type: image/PNG")//准备好随机数发生器种子srand((double)microtime()*1000000)//准备图片的相关参数$im = imagecreate(62,20)$black = ImageColorAllocate($im, 0,0,0)//RGB黑色标识符 $white = ImageColorAllocate($im, 255,255,255)//RGB白色标识符 $gray = ImageColorAllocate($im, 200,200,200)//RGB灰色标识符 //开始作图imagefill($im,0,0,$gray)while(($randval=rand()%100000)<10000){$_SESSION["login_check_num"] = $randval//将四位整数验证码绘入图片imagestring($im, 5, 10, 3, $randval, $black)}//加入干扰象素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)<HTML><HEAD>
<TITLE>生成验证码</TITLE>
<SCRIPT LANGUAGE="JavaScript">
function createCode(len)
{
var seed = new Array(
'abcdefghijklmnopqrstuvwxyz',
'ABCDEFGHIJKLMNOPQRSTUVWXYZ',
'0123456789'
) //创建需要的数据数组
var idx,i
var result = '' //返回的结果变量
for (i=0i<leni++) //根据指定的长度
{
idx = Math.floor(Math.random()*3)//获得随机数据的整数部分-获取一个随机整数
result += seed[idx].substr(Math.floor(Math.random()*(seed[idx].length)), 1)//根据随机数获取数据中一个值
}
return result//返回随机结果
}
function test() {
var inputRandom=document.getElementById("inputRandom").value
var autoRandom=document.getElementById("autoRandom").innerHTML
if(inputRandom==autoRandom) {
alert("通过验证")
} else {
alert("没有通过验证")
}
}
</SCRIPT>
</HEAD>
<BODY>
验证码长度:
<SELECT id="sel">
<option value=1>1</option>
<option value=3>3</option>
<option value=5>5</option>
<option value=7 selected>7</option>
<option value=9>9</option>
</SELECT>
<BR>
<table>
<tr>
<td>验证码:</td>
<td><input type="text" id="inputRandom"></td>
<td><label id="autoRandom" value=""></label><INPUT TYPE="button" VALUE="获取验证码" ONCLICK="autoRandom.innerHTML=createCode(sel.value)"></td>
<td><input type="button" value="验证" onclick="test()"></td>
</tr>
</table>
<script type="text/javascript">
window.onload()=autoRandom.innerHTML=createCode(sel.value)
</script>
</BODY>
</HTML>