使用Session和Cookie实现网站自动登录
登陆的时候一旦选择了[自动登录]的选项,则需要在登陆成功后,附加下面的代码
应为一般网站都提供保存用户名的功能,所以我把这个写到了外面。只有密码是单独处理的。
其中的host就是你的域名。
第一步,编写login.jsp文件,内容如下:
本部分设定了隐藏,您已回复过了,以下是隐藏的内容
String host = request.getServerName();
Cookie cookie = new Cookie("SESSION_LOGIN_USERNAME", username); // 保存用户名到Cookie
cookie.setPath("/");
cookie.setDomain(host);
cookie.setMaxAge(99999999);
response.addCookie(cookie);
if (ParamUtils.getBooleanParameter(request, "savePassword")) {
// 保存密码到Cookie,注意需要加密一下
cookie = new Cookie("SESSION_LOGIN_PASSWORD", MD5.encode(u.getPassword()));
cookie.setPath("/");
cookie.setDomain(host);
cookie.setMaxAge(99999999);
response.addCookie(cookie);
}
这样,Cookie就生成了
第二步,在用户访问网站的时候,如果检测到没有登陆,则进行下面的判断,
例如编写一个index.jsp,内容如下:
String usernameCookie = null;
String passwordCookie = null;
Cookie[] cookies = request.getCookies();
if (cookies != null) {
for (Cookie cookie : cookies) {
if ("SESSION_LOGIN_USERNAME".equals(cookie.getName())) {
usernameCookie = cookie.getValue(); // 得到cookie的用户名
}
if ("SESSION_LOGIN_PASSWORD".equals(cookie.getName())) {
passwordCookie = cookie.getValue(); // 得到cookie的密码
}
}
if (usernameCookie != null && passwordCookie != null) { // 如果存在
if(Login.checkLogin(usernameCookie ,passwordCookie)){
// 登陆成功的处理
}else{
// 登陆不成功的处理
}
}
}
这部份代码可以写到action或servlet中。最后一个注意事项,应该在退出登录里面清除cookie,以免他无法换账号登陆了!
logout.jsp内容如下:
cookie = new Cookie("SESSION_LOGIN_PASSWORD", "");
cookie.setPath("/");
cookie.setMaxAge(99999999);
cookie.setDomain(host);
response.addCookie(cookie);
注意事项:
一旦自动登录失败,则取消其自动登录的可能性,防止暴力破解! 所以通常会在对应的实体中定义一个属性来标示是否自动登录,也就是说:这个标志只有下次正常输入验证码的登陆才会被清除!!
分享到:
相关推荐
JAVA通过Session和Cookie实现网站自动登录的技术
java通过session和cookie实现网站的自动登录
JAVA通过Session和Cookie实现网站自动登录的技术.txt
本文实例为大家分享了jsp cookie+session实现简易自动登录的具体代码,供大家参考,具体内容如下 关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效。 如果设置了...
本实例通过asp.net模拟登陆并且保存Session和Cookie,成功登陆前台或者后台.
主要介绍了PHP cookie,session的使用与用户自动登录功能实现方法,结合实例形式分析了php使用cookie与session进行数据存取以及实现自动登陆功能的相关操作技巧,需要的朋友可以参考下
jsp cookie+session实现简易自动登录.docx
不需要填写用户名和密码自动登录系统,其实现思路使用cookie模拟浏览器自动登录,对cookie实现自动登录功能感兴趣的朋友一起学习吧
主要介绍了PHP 实现超简单的SESSION与COOKIE登录验证功能,结合实例形式详细分析了PHP使用cookie与session实现登录验证的相关操作步骤与注意事项,需要的朋友可以参考下
主要实现勾选自动登录后, 哪怕服务器重启后session丢失,靠客户端COOKIE仍然正常登录并刷新COOKIE。点退出登录后COOKIE失效。 现为WEB,可改造为提供android 和ios下的httpclient保持长久登录状态的方式。
Servlet 实现用户自动登录 session cookie
Cookies的处理 作用 ...如果在请求的过程中产生了cookie,如果该请求使用session发起的,则cookie会被自动存储到session中. 案例 爬取雪球网中的新闻资讯数据:https://xueqiu.com/ #获取一个sessi
WEB16_session&cookie。 案例一、记录用户的上次访问时间---cookie 案例二、实现验证码的校验----session。 1.服务器端向客户端发送一个Cookie 1)创建Cookie: Cookie cookie = new Cookie(String cookieName,...
要实现记住密码自动登录的功能我们大多数据都是利用了客户端的cookies来实现,我们利用php也不例外,有需要的朋友可以参考一下。 php制作记住密码自动登录的解决思路,其实也就是对session,cookies的操作 一、检查...
创建一个用户登录验证页面,用户登录成功后点击网站其他网页自动提示用户名。要求: 请分别使用cookie、session等至少三种方法实现 每种方法不少于三个页面 登录后每个页面打开均提示用户名,并...本例采用cookie实现
对比起 Cookie,Session 是存储在服务器端的会话,相对安全,并且不像 Cookie 那样有存储长度限制,本文简单介绍 Session 的使用。由于 Session 是以文本文件形式存储在服务器端的,所以不怕客户端修改 Session 内容...
本篇文章主要介绍了利用php实现一周之内自动登录存储机制(cookie、session、localStorage),可以实现一周之内免费登陆,感兴趣的小伙伴们可以参考一下。
使用cookie事实现用户的自动登录。也即用户登录后会将登录信息保存在cooike中,当用户访问购物主页面时,如果cookie中含有用户的信息,则可直接进行访问,而无需进行登录。使用ajax实现用户注册时的用户名查重。