Kaptcha:google自动生成验证码组件

  kaptcha的使用比较方便,只需添加jar包依赖之后简单地配置就可以使用了

  kaptcha所有配置都可以通过web.xml来完成,如果你的项目中使用了Spring MVC,那么则有另外的一种方式来实现

        <!-- google验证码 -->
<dependency>
<groupId>com.github.axet</groupId>
<artifactId>kaptcha</artifactId>
<version>0.0.9</version>
</dependency>

springmvc项目中使用:

  1 在spring-mvc.xml中进行配置:

    kaptcha的参数介绍:http://blog.csdn.net/qq_21120027/article/details/52129066

    <!-- 配置google验证码 -->
<bean name="producer" class="com.google.code.kaptcha.impl.DefaultKaptcha">
<property name="config">
<bean class="com.google.code.kaptcha.util.Config">
<constructor-arg>
<props>
<prop key="kaptcha.border">no</prop>
<prop key="kaptcha.textproducer.font.color">black</prop>
<prop key="kaptcha.textproducer.char.space">5</prop>
<prop key="kaptcha.textproducer.char.length">5</prop>
</props>
</constructor-arg>
</bean>
</property>
</bean>

  2 controller中生成验证码:

    @RequestMapping("/kaptcha.jpg")
public void kaptcha(HttpServletResponse response) throws IOException{ response.setHeader("Cache-Control", "no-store,no-cache");
response.setContentType("image/jpeg"); //生成文字
String text = producer.createText();
//生成图片
BufferedImage image = producer.createImage(text); //保存到shiro session中
SecurityUtils.getSubject().getSession().setAttribute(Constants.KAPTCHA_SESSION_KEY, text); ServletOutputStream out = response.getOutputStream();
ImageIO.write(image, "jpg", out);
out.flush(); }

  3 login页面:

                <div class="form-group">
<input type="text" class="form-control" placeholder="验证码" v-model="user.kaptcha">
</div>
<div class="form-group" text-left>
<img id="kaptcha" :src="kaptcha.jpg" alt="验证码" @click="refreshCode" style="cusor:pointer;"/>
<a href="#" @click.prevent="refreshCode">点击刷新</a>
</div>

  4 点击刷新验证码:

            refreshCode: function(){

                $("#kaptcha").attr('src', vm.kaptcha);
}

使用验证码需要注意的地方:

  无论哪一项验证错误,都必须刷新验证码,否则验证码会过时或者被暴力破解

Kaptcha的更多相关文章

  1. Java实现验证码制作之一Kaptcha验证码

    Kaptcha验证码 是google提供的验证码插件,使用起来相对简单,设置的干扰线以及字体扭曲不易让其他人读取破解. 这里我们需要 导入一个 kaptcha-2.3.jar  下载地址:http:/ ...

  2. java验证码组件kaptcha使用方法

    使用方法: 项目中导入kaptcha-2.3.jar包在web.xml里面新增: <!-- 登陆验证码Kaptcha -->    <servlet>        <s ...

  3. Sping mvc 环境下使用kaptcha 生成验证码

    一.kaptcha 的简介 kaptcha 是一个非常实用的验证码生成工具.有了它,你可以生成各种样式的验证码,因为它是可配置的.kaptcha工作的原理是调用 com.google.code.kap ...

  4. 使用kaptcha生成验证码

    原文:http://www.cnblogs.com/xdp-gacl/p/4221848.html kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小.颜色.显示的字符等等 ...

  5. kaptcha随机验证码的使用详解,超实用

    效果图: 官方地址:https://code.google.com/p/kaptcha/w/list 1.把下载的kaptcha-2.3.2.jar添加到lib中 2.配置web.xml增加servl ...

  6. 转】使用kaptcha生成验证码

    原博文出自于: http://www.cnblogs.com/xdp-gacl/p/4221848.html 感谢! kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小.颜 ...

  7. kaptcha验证码插件的使用

    kaptcha 是一个非常实用的验证码生成工具.有了它,你可以生成各种样式的验证码,因为它是可配置的.kaptcha工作的原理是调用 com.google.code.kaptcha.servlet.K ...

  8. 推荐一款java的验证码组件——kaptcha

    使用方法: 项目中导入kaptcha-2.3.jar包 在web.xml里面新增:   <!-- 登陆验证码Kaptcha --> <servlet> <servlet- ...

  9. kaptcha小案例(转)

    使用kaptcha生成验证码 kaptcha是一个简单好用的验证码生成工具,通过配置,可以自己定义验证码大小.颜色.显示的字符等等.下面就来讲一下如何使用kaptcha生成验证码以及在服务器端取出验证 ...

  10. 利用谷歌 kaptcha 进行验证码生成

    package main.com.smart.controller; import com.google.code.kaptcha.Producer; import main.com.smart.ut ...

随机推荐

  1. openresty router && template 试用

      router 是一个比较方便的 openresty 路由组件,我们可以用来编写灵活强大的 web 应用,类似的 lua-resty-route 也是很不错的,但是如果是比较简单的直接可以使用 lu ...

  2. 用IBM MQ中间件开发碰到的MQRC_NOT_AUTHORIZED(2035)问题

    我在一台工作站上面部署了MQ服务器,在MQ服务器中我建立了队列管理器MQ_TEST,在该队列管理器中我建立了一个本地队列MQ_Q以及一个服务器连接通道MQ_C,MQ_C中的MCA用户标识默认为空.同时 ...

  3. 合并两个sorted ranges(merge和inplace_merge)

    merge //版本一:用operator <比较元素 template <class InputerIterator1,class InputerIterator2,class Outp ...

  4. tp5闭包子查询传参方法

    在channel表中查询status,channel_id,channel_name,account_level这些字段,且这些字段的channel_id不在adv_id为$id的表adv_chann ...

  5. nonzero

    在python的numpy里面这个函数的意义是返回参数数组中不为0的元素的索引(indics). from numpy import array from numpy import nonzero x ...

  6. 深入解析 ext2 文件系统 (转)

    http://blog.chinaunix.net/uid-24774106-id-3266816.html 很久以来,就想写一篇关于ext 家族文件系统的文章,源于我刚工作的时候,曾经一不小心rm ...

  7. 一次修改mysql字段类型引发的技术探究

    说来,mysql数据库是我们项目中用的比较多的库,ORM工具喜欢采用细粒度的MyBatis.这里面就这么引出了两者之间的故事! 首先,说改字段吧,将一个表中的varchar字段改为enum字段.如下: ...

  8. Usbhub驱动编译

    在3g 4g的usb驱动基础上,加入以下部分,就可以驱动hub了 kmod-usb-hid 3.3.8-1 kmod-usbip 3.3.8-1 kmod-usbip-client 3.3.8-1 k ...

  9. Xshell中vim退出内容仍停留在屏幕的问题

    Xshell中vim退出内容仍停留在屏幕的问题 我每次在vim中退出后内容都显示在屏幕上面,看上去特别烦,就在网上看了下,通过调试成功. 第一种方法:在xshell中设置 1.这是我在vim中退出的状 ...

  10. PHP代码实现3 [函数角度]

    内部函数 标准函数的实现存放在ext/standard扩展目录中. php函数种类 Zend engine中的function的存在形式 123456 struct _zend_execute_dat ...