设置验证码的原因:
1.对特定用户不断登录破解密码;
2.对某个网站创建账户;
3.对某个网站提交垃圾数据;
4.对某个网站刷票等。
验证码(CAPTCHA):是一种区分用户是计算机还是人的公共全自动程序。
作用:可以防止恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试。
使用servlet实现验证码:
生成图片用到的类:
1.BufferedImage图像数据缓冲区
2.Graphics绘制图片
3.Color获取颜色
4.Random生成随机数
5.ImageIO输出图片
生成图片的实现类:
ImageServlet类
1.定义获得BufferedImage对象;
2.获得Graphics对象;
3.通过Random产生随机验证码信息;
4.使用Graphics绘制图片;
5.记录验证码信息到session中;
6.使用ImageIO输出图片。
校验验证码是否正确:
LoginServlet类
1.获取验证码;
2.获取session保存的验证码;
3.比较验证码;
4.返回校验结果。
Servlet验证码实现过程:
1.从服务器取出验证码,用Session进行保存并生成验证码返回界面;
2.用户输入验证码点击提交与Session中保存的验证码进行校验,并返回校验结果。
开源组件实现验证码:
1.Jcaptcha:一个用来生成图形验证码的Java开源组件,与Spring组合使用,可产生多种形式的验证码。
2.Kaptcha:可配置的,可以生成各种样式的验证码。
Kaptcha组件实现验证码:
1.下载Kcaptcha-2.3.jar;
2.将jar包导入项目;
3.编写页面;
4.配置web.xml;
5.启动项目。