验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。
验证码的生成目前常用的有两种方式:
1、原生的java通过二维图像,画出一个包含验证码的图片。
2、使用Jcaptcha生产验证码图片。
本次讲解使用二维图像画出验证码图片。
1、index.jsp页面
<script type="text/javascript">
function newCode(){
var today = new Date();
document.getElementById("imgNumber").src="ValidateServlet?tm="+today.getTime();
}
</script>
</head>
<body>
<form action="">
验证码: <input type="text" name="text" />
<img src="ValidateServlet" id="imgNumber"/>
<a href="javascript:newCode()">看不清,换一张</a>
</form>
<br/>
</