kaptcha 实现登录验证码

介绍:近期公司的网站出现了恶意注册,恶意刷短信的恶劣行为,唉,真恶劣,所以完善登录验证和发送短信验证的国字号任务秘密开启

1.相关参数

 

Constant

描述

默认值

kaptcha.border

图片边框,合法值:yes , no

yes

kaptcha.border.color

边框颜色,合法值: r,g,b (and optional alpha) 或者 white,black,blue.

black

kaptcha.border.thickness

边框厚度,合法值:>0

1

kaptcha.image.width

图片宽

200

kaptcha.image.height

图片高

50

kaptcha.producer.impl

图片实现类

com.google.code.kaptcha.impl.DefaultKaptcha

kaptcha.textproducer.impl

文本实现类

com.google.code.kaptcha.text.impl.DefaultTextCreator

kaptcha.textproducer.char.string

文本集合,验证码值从此集合中获取

abcde2345678gfynmnpwx

kaptcha.textproducer.char.length

验证码长度

5

kaptcha.textproducer.font.names

字体

Arial, Courier

kaptcha.textproducer.font.size

字体大小

40px.

kaptcha.textproducer.font.color

字体颜色,合法值: r,g,b  或者 white,black,blue.

black

kaptcha.textproducer.char.space

文字间隔

2

kaptcha.noise.impl

干扰实现类

com.google.code.kaptcha.impl.DefaultNoise

com.google.code.kaptcha.impl.NoNoise去除干扰

kaptcha.noise.color

干扰 颜色,合法值: r,g,b 或者 white,black,blue.

black

kaptcha.obscurificator.impl

图片样式: 

水纹com.google.code.kaptcha.impl.WaterRipple 

鱼眼com.google.code.kaptcha.impl.FishEyeGimpy

阴影com.google.code.kaptcha.impl.ShadowGimpy

com.google.code.kaptcha.impl.WaterRipple

kaptcha.background.impl

背景实现类

com.google.code.kaptcha.impl.DefaultBackground

kaptcha.background.clear.from

背景颜色渐变,开始颜色

light grey

kaptcha.background.clear.to

背景颜色渐变, 结束颜色

white

kaptcha.word.impl

文字渲染器

com.google.code.kaptcha.text.impl.DefaultWordRenderer

kaptcha.session.key

session key

KAPTCHA_SESSION_KEY

kaptcha.session.date

session date

KAPTCHA_SESSION_DATE

 

2.配置web.xml

 



    kaptcha
    com.google.code.kaptcha.servlet.KaptchaServlet
    
        kaptcha.border
        no
    
    
        kaptcha.image.width
        120
    
    
        kaptcha.image.height
        42
    
    
        kaptcha.textproducer.font.size
        32
    
    
        kaptcha.textproducer.char.length
        5
    
    
        kaptcha.obscurificator.impl
        com.google.code.kaptcha.impl.WaterRipple
    



    kaptcha
    /kaptcha

3. 页面显示

 

  • 4.添加maven依赖

     

    
        com.google.code.kaptcha
        kaptcha
        2.3.2
    

    5.检查图片验证码的有效性

     

    /**
     * 检查图片验证码
     * @param request
     * @param captcha
     * @return
     */
    @RequestMapping("/checkCaptcha")
    @ResponseBody
    public Map checkCaptcha(HttpServletRequest request,
                                            @RequestParam("captcha") String captcha) {
        try {
            //从session当中读取验证码
            String kaptchaExpected = (String) request.getSession()
                    .getAttribute(com.google.code.kaptcha.Constants.KAPTCHA_SESSION_KEY);
    
            if (captcha.equals(kaptchaExpected)) {
                return this.getResultMap(ResultCode.SUCCESS, "输入正确", null);
            } else {
                return this.getResultMap(ResultCode.FAIL, "检验失败", null);
            }
        } catch (Exception e) {
            logger.error("checkCaptcha---error", e);
            return this.getResultMap(ResultCode.ERROR, "系统错误", null);
        }
    }

     

    你可能感兴趣的:(前端相关)