cookie实现网站自动登录

news/2024/5/17 4:02:57/文章来源:https://blog.csdn.net/weixin_33972649/article/details/90252784

在网上看到一篇博客,所以将里面的内容用自己的方式写下来

1、Web程序中第一次登录后,再次访问同一个Web程序时就无需再次登录,而是直接进入程序的主界面(仅限于本机)。实现这个功能关键就是服务端要识别客户的身份。而用Cookie是最简单的身从验证。

如果用户第一次登录,可以将用户名作为Cookie写到本地,代码如下:

2、将用户名以cookie的方式发送到客户端,并且将用户名以session属性的方式保存到服务器端以保证安全性,最后处理JSESESSIONID使其持久化(以cookie的形式保存到客户端)当第二次登录时HTTP响应头便会出现两个ID但没有影响,具体代码如下:

复制代码
 1 /*
 2          * 如果是第一次登录,将用户名和密码作为cookie写到本地
 3          */
 4         String name = request.getParameter("name");
 5         String pwd = request.getParameter("password");
 6         User user = new User();
 7         String userInfo = user.toString();
 8         if(null!=name && !"".equals(name)){
 9             user.setName(name);
10         }
11         if(null!=pwd && !"".equals(pwd)){
12             user.setPassword(pwd);
13         }
14         Cookie cookie = new Cookie("user",userInfo);
15         cookie.setMaxAge(360*24*60);//设置一年有效期
16         cookie.setPath("/");//可在同一应用服务器内共享方法
17         response.addCookie(cookie);//放松到客户段
18         //凭这个Cookie就自动登录并不安全可以在服务端使用一个Session来管理用户。
19         //当第一次登录成功后,就创建一个Session,并将用户的某些信息保存在Session
20         HttpSession session = request.getSession();
21         session.setAttribute("user", userInfo);
22         session.setMaxInactiveInterval(3600*2);//2小时
23         //但是当cookie关闭后,用于保存SessionID的JSESSIONID会消失(此时cookie并没有过期) ,所以得将JSESESSION持久化
24         Cookie sessionId = new Cookie("JSESESSIONID",session.getId());
25         sessionId.setMaxAge(2*60);//设置两小时
26         sessionId.setPath("/");
27         response.addCookie(sessionId);
28         
29         
30         
31         //当用户第二次登陆时,检测这个cookie是否存在
32         Cookie[] cookies = request.getCookies();
33         for (Cookie cookie2 : cookies) {
34             //如果存在这个cookie进行页面跳转
35             if(cookie2.equals("user")){
36                 if(session.getAttribute("user")!=null){
37                     request.getRequestDispatcher("直接进入主页面的url").forward(request, response);
38                     break;
39                 }else{
40                     //跳转到登录页面
41                 }
42                 
43             }
44         }
45          //如果使用上面的代码,即使浏览器关闭,在两小时之内,Web程序仍然可以自动登录。
46         //如果我们自已加一个JSESSIONID Cookie,在第一次访问Web程序时,
47         //HTTP响应头有两个JSESSIONID,但由于这两个JSESSIONID的值完全一样,没有任何影响
48         //如果在响应头的Set-Cookie字段中有多个相同的Cookie,则按着path和name进行比较,如果这两个值相同,
49         //则认为是同一个Cookie,最后一个出现的Cookie将覆盖前面相同的Cookie

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_827863.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

六个可以永久收藏的网站

1:Aconvert aconvert.com/cn Aconvert是一个完全免费并且不限转换次数的多功能文件格式转换网站,转换效果非常出色。 它的功能非常强大,支持转换的文件类型包括:PDF、文档、电子书、图像、视频、音频、压缩文件。 它还支持将网页…

企办IT服务:云服务器建站有哪些优势?

社会需求永远是推动技术发展的动力,随着云计算的快速发展,云计算的相关产品也逐渐得到站长的青睐,由原来的虚拟主机、服务器托管、服务器租用到现在的云服务器,站长们也在寻找适合他们的产品。而越来越多的IDC服务商也为用户提供云…

免费的网站,堪称神器

1:PPT 超级市场 http://ppt.sotary.com/web/wxapp/index.html PPT 超级市场是一个完全免费的 PPT 模板下载网站。 它主要的特点就是每一个 PPT 模板的质量都是极高,并且非常精美。 它的界面非常简洁,没有任何多余的东西,只有一个…

网站常见的反爬虫和应对方法 + [评论]

在我们的对2016年大数据行业的预测文章《2016年大数据将走下神坛拥抱生活 资本青睐创业机会多》里,我们曾经提到“在2016年,防止网站数据爬取将变成一种生意。”。今天我找到了来自”BSDR“的一篇文章,文章里主要介绍了常见的反爬虫应对方法&…

约62%运行PHP旧版本的互联网站点十周后将面临安全风险

根据W3Techs的统计数据,目前所有互联网站点中约有78.9%仍使用PHP运行。但至2018年12月31日,PHP 5.6.x的安全支持将正式停止,标志着官方对任何版本的PHP 5.x分支的一切支持都会终止。所以从明年开始,有62%仍…

SSM框架网站后台搭建(一)

SSM框架网站后台搭建(一) 1.所用技术简单介绍 1.SSM中的S:Spring Spring在百度词条上的解释是: Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程…

K8S集群使用Ingress实现网站入口动静分离实践

今年3月份在公司的内部k8s培训会上,和研发同事详细探讨了应用部署容器化部署的几个问题,问题简要如下: 1、java应用容器化部署首先通过自动化部署工具编译出全量的war包,将war包直接编译到docker镜像后推送到私用仓库并版本化控制…

网站后台添加富文本编辑器

网站后台需要添加富文本编辑器,偶然的机会发现了百度的UEditor,经过一番配置(我使用的环境是struts2hibernatespring),终于是成功了,下面来记录一下配置的过程: step1:首先去UEditor官网下载UE…

设置网站端口,防火墙

1.查看本地服务配置是否正常 2.查看系统版本 cat /etc/redhat-release 3.查看防火墙 firewall-cmd --list-all 4.查看连接(在本地) 4.设置端口号 cat /etc/selinux/config|grep SELINUX firewall-cmd --zonepublic --add-port80/tcp --permanent firewall-cmd --reload

通过Web安全工具Burp suite找出网站中的XSS漏洞实战(二)

一、背景 笔者6月份在慕课网录制视频教程XSS跨站漏洞 加强Web安全,里面需要讲到很多实战案例,在漏洞挖掘案例中分为了手工挖掘、工具挖掘、代码审计三部分内容,手工挖掘篇参考地址为快速找出网站中可能存在的XSS漏洞实践(一)https://segmentfault.com/a/11900000160…

精选:3个可以下载免费的高质量照片的网站

在您的照片库中加入成千上万张高品质的照片,涵盖各种主题和风格!下面列出的网站提供可用于任何项目的图像,没有限制。您不必担心因为一张小图片的版权而导致麻烦。通过这些网站可以改善你的设计项目,这些是网上提供免费的高质量图…

如何编写一个简单的企业门户网站(静态)

1.环境要求: 开发工具及版本:Sublime3开发使用的技术:CSSHTMLJS 2.准备工作: 创建必须的文件和文件夹打开Sublime在index页面引用js和css 3.详细设计(代码后面给出) 3.1页眉设计 实现思路&#xff1a…

政府与金融行业网站为何必须安装SSL证书?

在了解SSL证书对于政府与金融行业网站的重要性之前,我们先来了解一下SSL证书是什么?根据百度百科上的解释,SSL证书是数字证书的一种,类似于驾驶证、护照和营业执照的电子副本。因为配置在服务器上,也称为SSL服务器证书…

用HTML+CSS编写一个计科院网站首页的静态网页

一.HTML代码 1 <!DOCTYPE html>2 <html>3 <head>4 <meta charset"UTF-8">5 <title>首页</title>6 7 </head>8 <body>9 <div id"page">10 <div id"page_head">11 &…

加强网站安全、重构公司的门户网站项目(C# VS2003)

为什么80%的码农都做不了架构师&#xff1f;>>> 请大家不要非觉得在炫耀什么的心态来看文章&#xff0c;那就扭曲了本文章的出发点&#xff0c;就算我骄傲了一下&#xff0c;又能怎么样&#xff0c;若人人像我这样骄傲一下&#xff0c;我们的软件开发水平说不定几年…

一步步构建大型网站架构

2019独角兽企业重金招聘Python工程师标准>>> 之前我简单向大家介绍了各个知名大型网站的架构&#xff0c;亿万用户网站MySpace的成功秘密、Flickr架构、YouTube网站架构、PlentyOfFish 网站架构学习、WikiPedia技术架构学习笔记。这几个都很典型&#xff0c;我们可以…

大型网站技术架构(四)网站的高性能架构

2019独角兽企业重金招聘Python工程师标准>>> 网站性能是客观的指标&#xff0c;可以具体体现到响应时间、吞吐量、并发数、性能计数器等技术指标。 1、性能测试指标 1.1 响应时间 指应用执行一个操作需要的时间&#xff0c;指从发出请求到最后收到响应数据所需要的时…

python+beautifulsoup+smtp爬取学院网站的信息公告+邮件发送

最近学习了利用python爬虫&#xff0c;甚是有趣。所以写了个试用的小程序分享出来。 学院的相关通知都会放在网站的信息公告上&#xff0c;但每天打开电脑->打开浏览器->打开学院网站&#xff0c;就为了看个信息公告&#xff0c;挺麻烦还容易忘记。但害怕错过重要通知&a…

python 爬网站上的图片

最近在做bot的动物识别&#xff0c;最后根据大会给出来的测试数据&#xff0c;发现对简笔画的动物识别处于懵圈状态&#xff0c;识别效果很差~故我需要自己爬取一些简笔画的图片~ 手写学习了某一网站的图片爬取&#xff1a; 附上代码&#xff1a; # -*- coding: utf-8 -*-…

ubuntu安装网站服务器,Ubuntu安装服务器

tomcat 的安装安装 Tomcat 需要首先安装配置 JDKJava 的安装在 Ubuntu 和 Linux Mint 上安装 Oracle JDK使用下面的命令安装&#xff0c;只需一些时间&#xff0c;它就会下载许多的文件&#xff0c;所及你要确保你的网络环境良好&#xff1a;sudo add-apt-repository ppa:webup…