`

记住我 验证码

 
阅读更多

package cn.itcast.elec.util;

 

import java.net.URLEncoder;

 

import javax.servlet.http.Cookie;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import org.apache.commons.lang.StringUtils;

 

public class LogonUtils {

 

/**判断验证码输入是否正确*/

public static boolean checkNumber(HttpServletRequest request) {

//获取页面的验证码

String checkNumber = request.getParameter("checkNumber");

if(StringUtils.isBlank(checkNumber)){

return false;

}

//获取从Session中生成的验证码

String CHECK_NUMBER_KEY = (String) request.getSession().getAttribute("CHECK_NUMBER_KEY");

if(StringUtils.isBlank(CHECK_NUMBER_KEY)){

return false;

}

//从页面中获取输入的验证码和Session中生成的验证码进行比对

return checkNumber.equalsIgnoreCase(CHECK_NUMBER_KEY);

}

 

/**添加记住我的功能*/

public static void remeberMe(String name,String password,HttpServletRequest request,

HttpServletResponse response) {

//创建2个Cookie,一个存放用户名,一个存放密码

//如果name中存在中文,需要进行转码

try {

name = URLEncoder.encode(name, "UTF-8");

} catch (Exception e) {

e.printStackTrace();

}

Cookie nameCookie = new Cookie("name", name);

Cookie passwordCookie = new Cookie("password", password);

//设置Cookie的有效路径,项目的根路径

nameCookie.setPath(request.getContextPath()+"/");

passwordCookie.setPath(request.getContextPath()+"/");

/**

* 获取页面记住我对应的复选框remeberMe的值

     * 如果值为yes:设置Cookie的有效时间(1周)

     * 如果值为null:清空Cookie的有效时间

*/

String remeberMe = request.getParameter("remeberMe");

if(remeberMe!=null && remeberMe.equals("yes")){

//设置Cookie的有效时间(1周)

nameCookie.setMaxAge(60*60*24*7);

passwordCookie.setMaxAge(60*60*24*7);

}

else{

nameCookie.setMaxAge(0);

passwordCookie.setMaxAge(0);

}

//将Cookie放置到Response对象中

response.addCookie(nameCookie);

response.addCookie(passwordCookie);

}

 

}

 

分享到:
评论

相关推荐

    怎样实现“验证码+记住我”功能.zip

    在网站开发中,为了增强安全性,常常需要使用验证码来防止自动化的机器人操作,同时为了方便用户,也提供了“记住我”功能,让用户在一定时间内无需重复登录。本教程将详细介绍如何在项目中实现这两个功能。 验证码...

    vue+springboot+redis+kaptcha实现登录验证码

    本教程将介绍如何结合Vue.js前端框架、Spring Boot后端框架、Redis缓存服务以及Kaptcha验证码技术,实现一个前后端分离的登录页面验证码功能。这个组合可以提供高效、安全且用户友好的验证机制。 首先,Vue.js是一...

    asp.net登录带验证码和记住用户名功能

    asp.net登录案例,带验证码和记住用户名功能,点击验证码图片可更换验证码

    asp的20种验证码

    19. **视频验证码**:播放一段简短视频,用户需要记住其中的信息并在输入框中输入。 20. **行为分析验证码**:通过分析用户输入行为,如按键速度、停顿时间等,判断是否为真人。 以上就是20种ASP验证码的概览,每...

    获得验证码

    验证码是一种用于验证用户身份的安全机制,它通常由一串随机字符组成,图像显示形式常见,目的是...记住,验证码的目的是增加自动化攻击的难度,但不能完全防止,因此还需要结合其他安全措施,如限频、IP 黑名单等。

    SpringSecurity实现表单安全登录、图形验证的校验、记住我时长控制机制、第三方登录

    本主题将深入探讨如何使用SpringSecurity实现表单安全登录、图形验证码的验证、记住我功能的时长控制以及整合第三方登录。 **表单安全登录** 在SpringSecurity中,我们可以方便地配置表单登录。首先,我们需要定义...

    (ASP.NET)各式各样的验证码

    记住,验证码的设计应兼顾用户体验和安全性,避免过于复杂导致用户流失,同时防止恶意攻击。在编码过程中,确保遵循最佳实践,例如使用安全的哈希函数存储验证码答案,及时清理会话状态,以及考虑跨站脚本(XSS)和跨...

    含思验证码软件

    验证码图像载入后,这里会显示未经滤镜处理的原始验证码...请记住,只能保存一张图片样本。为什么要保存图片样本?因为时间长了,同一个验证码地址的图片样式就可能改变,原来的规则不适用了,如果没有图片样本,我们

    ASP中文验证码源码

    4. **session存储**:为了在用户提交验证码后进行验证,服务器需要记住生成的验证码。ASP中常用Session对象来存储会话数据,将验证码值存储在`Session("CheckCode")`中。 5. **用户输入验证**:当用户输入验证码后...

    验证码实现详细步骤

    这样,即使用户刷新页面,服务器也能记住已经生成的验证码。 7. **错误处理**:当验证码输入错误时,应向用户返回错误信息,并允许他们重新输入。 以上就是Java实现验证码的完整流程,包括了从生成到验证的每个...

    Android生成验证码图片

    这样可以防止用户记住或截图验证码,增加安全性。 4. **获取图片上的随机数**: 在生成验证码时,我们需要同时保存生成的随机数。当用户输入验证码时,我们可以将输入与保存的随机数进行比对,判断是否输入正确。 ...

    邮箱验证码

    通过邮箱验证码,服务提供商能够提供更安全、更可靠的服务,同时也提高了用户体验,因为用户不再需要记住复杂的密码或密钥。然而,这种方法也存在挑战,如垃圾邮件过滤、邮箱被劫持等问题,因此,持续改进验证机制和...

    Android-6位自定义手机验证码输入框

    在Android开发中,有时会遇到特定的用户界面需求,例如6位自定义手机验证码输入框。这个场景下,开发者需要创建一个特殊的...记住,良好的用户体验往往源于对细节的关注,而自定义View正是实现这种体验的重要工具。

    javaweb简单的一次性验证码

    4. **session管理**:为了验证用户输入的验证码,服务器需要记住生成的验证码。在Java Web中,我们通常使用HttpSession对象来存储与用户会话相关的数据。当用户提交验证码时,服务器会检查session中的值是否与用户...

    winform模拟网站登录,有验证码

    记住,模拟登录时应尊重网站的使用条款,避免对服务器造成不必要的压力,否则可能会导致IP被封禁。 总的来说,使用C# Winform模拟网站登录涉及网络编程、HTML解析、图像处理和OCR识别等多个领域的知识,需要综合...

    asp验证码实例

    4. **存储验证码值**:为了验证用户输入,服务器需要记住生成的验证码。这通常通过在会话(Session)对象中存储字符串来实现,因为会话在用户浏览器关闭前保持状态。 5. **用户交互**:用户看到验证码图像后,需要...

    实现验证码

    验证码是一种常见的网络安全机制,用于防止自动化程序(如机器人或爬虫)进行非法操作,比如注册、登录、提交...记住,安全是Web开发的重要组成部分,不断更新和优化验证码机制对于抵御日益复杂的网络攻击至关重要。

    ASP.net 带验证码的极其漂亮美观多项目可通用登陆界面。

    8. **安全性考虑**:除了基本的验证码功能,登录界面还可能包括其他安全措施,如密码复杂度检查、记住我选项(需谨慎使用以防止长期会话劫持),以及多因素身份验证。 总结来说,这个ASP.NET项目提供了一个既实用又...

    神经网络3.0——验证码识别代码和图片

    RNN可以在处理每个字符的同时记住前面的信息,这对于理解整个验证码至关重要。在实际应用中,我们可能还需要使用双向RNN来同时利用前后文信息。 在训练过程中,我们通常会采用数据增强技术来扩充训练集,如旋转、...

    免费短信验证码

    3. 便捷性:用户无需记住复杂的密码,只需接收和输入短信验证码即可完成验证。 4. 范围广泛:覆盖大部分拥有手机的用户,适用于各种类型的互联网应用。 三、短信验证码的实现技术 1. SMS SDK(软件开发工具包):...

Global site tag (gtag.js) - Google Analytics