SSM整合之企业级后台管理系统(10) - 整合Kaptcha实现验证码校验登录

上一篇教程《SSM整合之企业级后台管理系统(9) - 登录页面和登录跳转实现》中已经和大家一起学习了使用用户名和密码进行登录,当然,登录的时候只用用户名和密码是不够滴!为了安全考虑,还需要加上验证码。

一、验证码的发展史

验证码这个词最早是在2002年由卡内基梅隆大学的路易斯·冯·安、Manuel Blum、Nicholas J.Hopper以及IBM的John Langford所提出。卡内基梅隆大学曾试图申请此词使其成为注册商标, 但该申请于2008年4月21日被拒绝。一种常用的CAPTCHA测试是让用户输入一个扭曲变形的图片上所显示的文字或数字,扭曲变形是为了避免被光学字符识别(OCR, Optical Character Recognition)之类的电脑程序自动辨识出图片上的文数字而失去效果。由于这个测试是由计算机来考人类,而不是标准图灵测试中那样由人类来考计算机,人们有时称CAPTCHA是一种反向图灵测试。

除了图形验证码之外,为了无法看到图像的身心障碍者,替代的方法是改用语音读出文数字,为了防止语音辨识分析声音,声音的内容会有杂音。当然,本篇博客只讨论图形验证码。

总而言之,验证码是用来防止恶意登录、保护账号安全的。

 

二、验证码登录的原理

说了这么多,那我们到底如何编码实现验证码登录呢?

其实验证码的原理并不复杂,实现起来主要有以下几个步骤:

  1. 后台生成验证码图片,同时将验证码中内容保存到服务器session中
  2. 前端登录时将验证码和用户名、密码一起提交到后台
  3. 后台验证前端输入的验证码和session中是否一致,如果一致则验证成功,进入步骤4;否则验证不成功,返回步骤1
  4. 验证用户名和密码,返回登录验证信息
  5. 若登录验证成功,则跳转到相应页面;否则在登录页面提示错误信息

当然,一般验证码上还有个点击刷新获取新验证码的功能,其实就是验证码图片上有个点击事件(onClick),该事件调用后台获取验证码的方法获取新的验证码,与此同时,后台session中也更新为新的验证码。

三、整合Kaptcha实现验证码校验登录

温馨提示:我们本篇整合Kaptcha教程都是在本系列前面教程的基础上进行的,如果要完整实现功能的话,建议大家先看下《SSM整合》专栏前面的教程哦(☄⊙ω⊙)☄

1. 首先要pom.xml中加入Kaptchar依赖

<!-- 验证码工具 -->
<dependency>
    <groupId>com.github.penggle</groupId&
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值