登录功能之添加验证码|学习笔记

简介: 快速学习登录功能之添加验证码

开发者学堂课程【JSP 快速入门登录功能之添加验证码】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/33/detail/718


登录功能之添加验证码


内容介绍:

1. 验证码功能的基本原理

2. VerifyCodeServlet 生成图片

3. LoginServlet 校验验证码

4. 验证码换一张功能

 

验证码功能的基本原理:

首先用户发出请求到 login.jsp→VerifyCodeServlet 生成图片并保存到 session 之后响应给客户端→用户提交验证码表单→ LoginServlet 获取表单中的验证码和 session 中的验证码并进行比较→如果信息相同则向下运行,不同则保存错误信息到request 域并转发到 login.jsp

图片16.png


VerifyCodeServlet 生成图片

1.生成图片

2.保存图片上的文本到 session域中

3.把图片响应给客户端

对应代码:

package cn.itcast.servlet;

import java.awt.image.BufferedImage;

public class VerifyCodeServlet extends

HttpServlet {

public void doGet (HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

VerifyCode vc = new VerifyCode ();

BufferedImage image = vc. getImage ();

request.getSession().setAttribute("session_vcode",ve.getText());

VerifyCode.output(image,response.getOutputStream());

}

}


LoginServlet 校验验证码

1从 session 中获取正确的验证码

2从表单中获取用户填写的验证码

3进行比较!

4如果相同,向下运行,否则保存错误信息到 request 域,转发到 login.jsp

对应代码:String sessionCode = (String) request, getSession ().getAttribute ("session_vcode");

String paramCode = request. getParameter ("verifyCode");

if(!paramCode.equalsIgnoreCase(sessionCode)) {

request.setAttribute("msg","验证码错误!");

request.getRequestDispatcher("/session2/login.jsp").forward(request,response);

return

}



验证码换一张功能

1.得到 img 元素

2.修改其 src 为 /day11_3/VerifyCodeServlet

对应代码:

function_change(){

var imgEle = document.getElementById("img");

imgEle.src = "/day11_3/VerifyCodeServlet?a="+ new Date().getTime();

}

相关文章
|
7月前
|
存储 前端开发 PHP
构建一个简单的网站,包括用户注册、登录功能
构建一个简单的网站,包括用户注册、登录功能
72 1
|
9月前
|
SQL Java
如何使用阿里云短信服务实现登录页面,手机验证码登录?1
如何使用阿里云短信服务实现登录页面,手机验证码登录?
265 0
|
8月前
JavaWeb用户信息管理系统-在登录中添加验证码功能
JavaWeb用户信息管理系统-在登录中添加验证码功能
47 0
|
安全 Java API
阿里云——Java实现手机短信验证码功能
通过手机短信发送验证码,是最普遍、最安全验证用户真实身份的方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。本文通过调用API开发一个短信验证码为例,带您了解如何实现短信验证码功能。
5700 5
阿里云——Java实现手机短信验证码功能
|
4月前
|
安全 Java 数据库
SpringSecurity实现多种登录方式,如邮件验证码、电话号码登录
SpringSecurity实现多种登录方式,如邮件验证码、电话号码登录
162 1
uniapp手机号授权登录-现在只能通过手机号授权登录,后台来获取用户信息了效果demo(整理)
uniapp手机号授权登录-现在只能通过手机号授权登录,后台来获取用户信息了效果demo(整理)
|
9月前
|
安全 机器人 PHP
在线行为验证码推荐
想要保护您的网站免受恶意攻击?不妨考虑一款免费行为验证插件。该插件基于用户的行为模式进行验证,可有效区分真实用户和机器人。其中,滑动拼图是一种常见的在线行为验证方式,能够增加验证的难度,提高网站的安全性。通过使用这款免费插件,您可以为您的网站添加一道可靠的安全防线。
|
9月前
|
安全 API 数据安全/隐私保护
短信服务在项目中的配置及如何实现验证码登录
短信服务在项目中的配置及如何实现验证码登录
146 0
|
安全 前端开发 定位技术
推荐一个非常好的行为验证码项目!
KgCaptcha 结合了设备指纹、行为特征、访问频率、地理位置等多项技术,有效的拦截恶意登录、批量注册,阻断机器操作,拦截非正常用户。较传统验证码相比,用户无需再经过思考或输入操作,只需轻轻一滑即可进行验证。
推荐一个非常好的行为验证码项目!
|
数据安全/隐私保护 开发者 Python
登录功能的实现| 学习笔记
快速学习登录功能的实现
66 0