网站自动登录功能的设计

news/2024/5/9 5:37:44/文章来源:https://jimmy.blog.csdn.net/article/details/78800014

我相信有很多IT者都会遇到公司要求网站可以实现自动登录,那什么是自动登录呢?

  所谓自动登陆就是当用户第一次访问网站时,输入用户名和密码,然后勾选了自动登陆复选框,进入首页后,点击退出登陆,关闭网页,再次打开同样的网站,则无需再次输入账号密码,直接进入首页,这种交互方式就是“自动登录”,这是非常好的用户体验,但是具体怎么实现这些功能呢,下面给大家介绍一下我的理解和实现方式。

  大家用过京东和淘宝的想必都知道,登陆京东后,发现账户信息已经显示在首页,可以直接进行购物和付款,这种体验就是我们要追求的方式。

 

为何浏览器打开,网站就会自动登陆呢,那说明打开网站的时候,浏览器向服务器端发送了一个凭证(Token也可叫钥匙),告诉服务器,我是你的真实用户,可放心开门,既然浏览器端需要提供凭证,那我们肯定会想到Cookie,只有Cookie才能在客户端永久保存,客户端从Cookie中提取信息后,服务器端识别后才能知道真伪,那说明服务器端是需要核验的。

到此,我们的思路已经出来了,要实现自动登陆:

1.用户登陆网站时,选择“N周内免登录”。

2.用户登陆成功后需要在浏览器端保存Cookie信息,同时服务器端数据库中也需要记录同样的信息。

3.当用户访问时,读取客户端中cookie信息,到服务器端数据库进行核验,信息一致时直接获取用户信息保存session,跳转到首页。

 

以上是我帮助大家分析的思路,那下面我们就会具体去讲这些方案。

既然是cookie实现,那么cookie一定可以被伪造的,所以上述的方案有以下安全隐患:

1.修改用户名,这样就可以随便用其他人的账号登录了;

2.修改cookie的有效期,这样当别人拿到你的电脑的时候,即使已经过了cookie的有效期,仍然可以登陆。

既然我们都知道Cookie是有安全隐患的,但是我们不用又不行,因此,我们能做的就是降低风险:

1.通过将cookie中保存的信息进行加密处理,用户登陆成功以后,将时间戳和随机数合并通过MD5加密处理形成Token。

  String token = Utils.MD5(System.currentTimeMillis()+Math.Rand(0,9999999));

  当然,也可以通过用户名+系统时间生产Token或者将sessionId加密生产Token也可以。

2.将用户ID(uid或者userName)和有效时间(1个月)以及Token保存在cookie中,同时记录到数据库表中(Remember_Key)。

3.用户访问网站时,后台读取Cookie,获取uid和Token,去数据库对比,如果都存在,且在有效期内,则通过uid直接获取用户信息并保存session,直接跳转到首页。

前端可对此进行处理,获取到后台返回的数据后,展示用户名以及头像信息等。

4.后台需要做过滤器,过滤网站的所有页面,每当打开页面时,首先判断是否登陆,如果已经登陆则跳过,如果未登陆,需要先读取Cookie,判断是否匹配,如果匹配则跳过登陆,直接获取用户信息,否则跳转到登陆页面。

后台表设计:

id user_id token expires_date create_time update_time
1 41000000 NGyuswVwxnXxz4BI1F1UyNoWWrxcuRiadPYpJcVTMN9DmDYrNvCEDdwMOS6o522JY8FPtQsLg 1456381021993 2016-02-25 2016-02-25

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

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

相关文章

关闭宝塔80端口_服务器网站运行宝塔环境安装教程

宝塔环境安装本教程使用宝塔linux面板来作为网站的运行环境,其他的这类软件也是可以的。首先是宝塔面板的安装我们首先连接到服务器,购买服务器后如何远程连接登陆?然后登陆进入了下图这个界面。宝塔环境安装我们打开宝塔面板的官方网站&…

数据包发送时 源端口是随机生成的吗_当你访问XXX网站时,从访问到内容返回呈现,中间发生了什么?...

想必不少小伙伴面试过程中,会遇到「当键入网址后,到网页显示,其间发生了什么」的面试题。这次,小林我带大家一起探究下,一个数据包在网络中的心路历程。每个阶段都有数据包的「心路历程」,我们一起看看它说…

设计电子商务网站建设方案_如何做一份公司网站建设方案书

点击蓝字获取更多优惠信息在决定做好网站建设前,公司应该先对市场情况进行分析、明确建设网站的目的和功能性,并根据市场调查结果对网站建设的各项要求要点做出规划。网站规划对网站建设起到计划和指导的作用,对网站的内容和维护起到定位作用…

网站改成静态页面打不开_网站优化系统诊断和SEO体验

在做企业网站优化时,常遇到很多的问题,比如网站原创内容不收录,收录后没有排名,有排名却怎么也排不到首页等。所以就需要我们系统的对企业网站优化做一个很好的诊断,帮助我们调整网站细节,更好的提高网站权…

您与此网站之间建立的连接并非完全安全 ????

有时候即使SSL证书有效, Chrome还是显示"并非完全安全"?比如: 肿么肥事呢?原来一个网页不完全由1个https包得到的, 而是由多个资源共同组成的,打开网络工具就可以看到: 在Size那一列, 只有第1个资源(通常是html)是不会走缓存的,这个资源也来自浏览器地址栏里面所看…

tp5网站上传服务器,tp5上传到云服务器

tp5上传到云服务器 内容精选换一换本章节以Linux操作系统为例,指导您通过弹性云服务器内网连接GaussDB(for Cassandra)实例。您可以根据业务需求选用普通方式或SSL方式连接实例。目标实例必须与弹性云服务器在同一个虚拟私有云和子网内才能访问。该弹性云服务器必须…

基于Java/Mysql的个人博客网站

3年前写的一个技术博客。。。纪念一下。 OpenIdea Blog - 开源灵感博客 a personal blog site based on Java/Mysql - 基于Java/Mysql的个人博客网站;此时已经更新至version23.1;这是一个java web博客项目,尽最大可能实现mvc模式,没有使用到框架&#xf…

一个博客网站的历史纪录。。。

上一篇文章用MySQL实现了一个个人博客网站,本文是它各个版本的历史记录,在删除源代码之前,最后回忆一下这个项目的历史。2017-09-02【0.0】博客诞生2017-09-02【0.0】测试阶段:阿里云vps成功内测前端模板2017-09-09【0.0】测试阶段:服务器重定…

云服务器建站原理_第一篇博客---阿里云服务器建站过程(小菜鸟的第一次尝试)...

最近学习了前后端的相关技术,就想租一个服务器试一下,玩一玩,简单了解了一下阿里云的服务器,简单介绍一下:一:什么是云服务器ECS是阿里云产品体系中,最基础的计算服务,通常用作应用程序的运行环…

哈尔滨网站服务器_哈尔滨web前端开发应用越来越广泛

互联网发展日新月异,有大量工作需要前端来做:1日常办公软件(复杂应用,并且慢慢从桌面程序演化为Web):Office、Email、文档管理、产品设计、项目管理、代码编辑器;2大数据/AI配套软件(复杂应用,并且慢慢从桌…

计算机组成二进制除法,二进制算术运算-计算机组成原理与汇编语言-电子发烧友网站...

1.4.1 二进制加法二进制加法与十进制加法相类似,所不同的是,二进制加法中是“逢二进一”,其法则为:000101011110 并进位例如:两个二进制数相加:10110101 10001110______________1010000111.4.2 二进制减法在…

java soap服务_「java调用webservice」java调用webservice接口 三种方法 - seo实验室

java调用webservice摘自其它:webservice的 发布一般都是使用WSDL(web service descriptive language)文件的样式来发布的,在WSDL文件里面,包含这个webservice暴露在外面可供使用的接口。今天搜索到了非常好的 webservice provider列表http://www.webserv…

搜索引擎优化的用乐云seo_SEO搜索引擎优化是否真的那么重要?

SEO搜索引擎优化是优化网页及其内容的过程,以便用户搜索与您的网站相关的词条并轻松地发现它们。尽管SEO搜索引擎优化的概念相对简单明了,但是仍然还是有很多企业对具体问题存有疑问,例如:如何“优化”网站或公司的搜索引擎网站&a…

内容泛化是什么意思_网站优化|为什么做了SEO优化 网站却没有排名?

即使你在SEO行业,有着几年的工作经验,你偶尔也会有这样的疑问,我长期的坚持写高质量内容,但有的时候,针对某些网站,它的排名就是上去。这让很多SEO人员,一度在怀疑自己的优化策略,是…

计算机登录网站慢手机快,手机WiFi网速慢,简单输入几个数字立马变快!

原标题:手机WiFi网速慢,简单输入几个数字立马变快!微言∶“用手机连家里的WiFi上网也是很普遍的一件事了。可是有时候,电脑网速是正常的,可手机连上的WiFi却很慢,这到底是什么原因呢?”相信很多微友都有遇过类似的情况,和朋友连接…

服务器弄好了怎么做网站,怎么自己做网站?自己做网站都需要什么?

怎么自己做网站?自己做网站都需要什么?免费建站有哪些流程及步骤,想必我们想做网站的朋友都有这样的疑问吧!下面就和小编来一起看看吧!1、网站程序网站程序必需的,能够自身撰写或是是业务外包请人做,搞好以后能够授权委托构建网站&#xff…

seo查询工具源码_SEO站长必备的7个工具网站,老站长的选择错不了(值得珍藏)...

对于一个站长来说seo网址导航很重要一是你可以在这些网址导航中随时找到你想用的工具二是可以通过导航里面琳琅满目的网址针对性的学习自己想要的东西如何更好利用seo工具如何进行白帽优化等故此之华收集了:SEO站长必备的7个工具网站希望可以在工作中帮到你!开始分享…

wordpress怎么设置文章页面不打开新的窗口_2020年使用宝塔面板搭建 WordPress 网站图文详细教程

今天详细介绍一下如何使用宝塔面板,搭建 WordPress 博客。宝塔面板的安装很简单,一行命令就能搞定,安装教程参考《2分钟装好宝塔面板,一键管理服务器》。安装完成之后,我们选择安装 LAMP 或者 LNMP 建站环境&#xff0…

怎们将txt传到github_将域名和GitHub Pages服务器绑定起来丨建站系列最终篇

小伙伴们,上一篇文章中,我们成功通过链接http://username.github.io(username为github用户名)访问到我们的博客页面啦。 这篇文章中,唠师傅给大家唠一唠,怎么将http://username.github.io替换成我们独一无二…

关于网站运营的研究_力荐9个跨境电商卖家必看的免费文案listing网站!

如果您是做跨境电商的,一个好的文案内容的重要性就不言而喻了。接下来介绍的这几个文案网站可以为商家撰写营销内容提供技巧建议。此外,这些网站都是免费的。1、The Copywriter Club Podcast这个网站由两名外国友人Rob Marsh和Kira Hug运营,他…