使用Cookie保存用户和密码然后自动登录

login.html

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>登陆</title>
 6 </head>
 7 <body>
 8 <form method="post" action="Login">
 9     <input type="text" name="user" id="user">
10     <input type="password" name="pwd" id="pwd">
11     <input type="submit" name="登陆" id="bt">
12 </form>
13 <script>
14     var cookie=document.cookie;
15     console.log(cookie)
16     var u=new Array();
17     var user=document.getElementById("user");
18     var pwd=document.getElementById("pwd");
19     var cks=cookie.split(";");
20     for (var i=0;i<cks.length;i++){
21         var kv=cks[i].split("=");
22         //alert(kv[0]);
23         u=kv[1];
24        // alert(kv[1]);
25         if(kv[0].trim()=="user") user.value=kv[1];//去掉前后空格.trim()
26         if(kv[0].trim()=="password") pwd.value=kv[1];//第二次登陆直接把密码填入框中
27         if(user.value!=""&&pwd.value!=""){
28             document.getElementById("bt").click();//模拟点击,直接登陆
29         }
30         for (var j=0;j<kv.length;j++){
31             console.log(kv[1])
32         }
33     }
34     console.log(u)
35 </script>
36 </body>
37 </html>

Servlet的Login.java

 1 package control;
 2 
 3 import javax.servlet.ServletException;
 4 import javax.servlet.annotation.WebServlet;
 5 import javax.servlet.http.*;
 6 import java.io.IOException;
 7 import java.io.PrintWriter;
 8 
 9 @WebServlet("/Login")
10 public class Login extends HttpServlet {
11     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
12         request.setCharacterEncoding("utf-8");
13         response.setContentType("text/html;charset=utf-8");
14         Cookie[] cookie=request.getCookies();
15         for (Cookie c:cookie){
16             System.out.println(c.getName()+"\t"+c.getValue());
17         }
18         HttpSession session=request.getSession();
19         String user=request.getParameter("user");
20         String pwd=request.getParameter("pwd");
21         PrintWriter out =response.getWriter();
22         if (user.equals("admin")&& pwd.equals("123")){
23             Cookie u=new Cookie("user","admin");
24             Cookie p=new Cookie("password","123");
25             u.setMaxAge(60*60*24);//设置Cookie生存时长60*60*24一天
26             p.setMaxAge(60*60*24);
27             response.addCookie(u);
28             response.addCookie(p);
29             session.setAttribute("isLogin",true);
30             out.write("成功");
31         }else out.write("失败");
32     }
33 
34     protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
35 
36     }
37 }

 

转载于:https://www.cnblogs.com/feipengting/p/7647835.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
localstorage和cookie都是用来在浏览器端保存数据的技术。但是它们在保存密码方面有一些区别。 首先是localstorage,它是HTML5新增的Web Storage API之一。可以将数据以键值对的形式存储在浏览器中,并且该数据不会随着网页的关闭而消失。因此,localstorage可以用来保存长期登录密码,以便下次用户打开网页时可以自动填充密码。然而,localstorage存储的数据是明文形式,只要有人能够访问到用户的设备,就可以轻松获取到存储在localstorage中的密码信息。 而cookie是浏览器常用的一种技术,用于在浏览器和服务器之间传递数据。在保存密码方面,cookie可以设置一个标记来表示用户登录状态,使得用户可以在一段时间内免登录。然而,cookie也存在一些安全问题。首先,cookie中的数据是明文存储的,可以被他人窃取,因此不能将密码明文存储在cookie中,而是应该将密码进行哈希散列等操作后再存储。其次,cookie有过期时间,如果不合理设置,可能会导致用户登录状态过长,增加了安全风险。 综上所述,无论是使用localstorage还是cookie保存密码,都存在一定的安全风险。为了提升密码的安全性,应该对密码进行哈希散列等操作后再进行存储,并定期更新密码或设置密码的有效期限,以保护用户的账户安全。此外,还应该使用其他更安全的身份验证方式,如双因素认证等,来加强用户账户的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值