验证码的制作

2017-06-23  本文已影响136人  年少懵懂丶流年梦

验证码定义:
验证码是一种区分用户是计算机还是人的公共自动程序。
作用:
可以防止恶意破解密码,刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试。

没有验证码会带来的一些问题:

1、使用Servlet实现
开源组件实现验证码
  1. 使用Jcaptcha组件实现验证码
    jcaptcha的使用比较简单:
    1:下载并将其JAR放到类路径下
    2:配置web.xml
    3:写一个验证验证码的请求方法

web配置代码

<servlet>
    <servlet-name>jcaptcha</servlet-name>
    <servlet-class>
       com.octo.captcha.module.servlet.image.SimpleImageCaptchaServlet
    </servlet-class>
</servlet>
  1. 使用Kaptcha组件使用验证码

下载kaptcha-2.3。jar
将jar包导入项目
编写页面
配置web.xml
启动项目
web.xml配置

<servlet>
<servlet-name>kaptcha</servlet-name>
<servlet-class>
com.google.code.kaptchaServlet
</servlet-class>
</servlet>

插件KaptchaServlet获取session中的验证码

String captcha = ((String) request.getSession().getAttribute(
com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY));

边框颜色:rgb值也可以


文本实现类:kaptcha.textproducer.impl 值为:com.google.code.kaptcha.text.impl.DefaultTextCreator
验证码值配置:kaptcha.textproducer.char.string 值:abcde2345678gfynmnpwx(随意你自己写)
验证码的长度:kaptcha.textproducer.char.length 值:
字体:kaptcha.textproducer.font.names 值:Arial,Courier
字体颜色:kaptcha.textproducer.font.color 值: r,g,b 或者 white,black,blue
文字间隔:kaptcha.textproducer.char.space 值:
干扰实现类:kaptcha.noise.impl 值:com.google.code.kaptcha.impl.DefaultNoise/NoNoise
干扰颜色:kaptcha.noise.color 值: r,g,b 或者 white,black,blue
图片样式:kaptcha.obscurificator.impl 值:
水纹com.google.code.kaptcha.impl.WaterRipple;
鱼眼com.google.code.kaptcha.impl.FishEyeGimpy;
阴影com.google.code.kaptcha.impl.ShadowGimpy
背景实现类:kaptcha.background.impl 值:com.google.code.kaptcha.impl.DefaultBackground
背景渐变色开始:kaptcha.background.clear.from 值:r,g,b 或者 white,black,blue
背景渐变色结束:kaptcha.background.clear.to 值:r,g,b 或者 white,black,blue
文字渲染器:kaptcha.word.impl 值:com.google.code.kaptcha.text.impl.DefaultWordRenderer
session中存放验证码的key键:kaptcha.session.key 值:KAPTCHA_SESSION_KEY

上一篇下一篇

猜你喜欢

热点阅读