几种保持登录状态的方式
web基础系列
- 总结几种常见web攻击手段极其防御方式
- 总结几种常见的安全算法
- 几种保持登录状态的方式
- 白话讲session
- 这是我的博客目录,欢迎阅读
三种保持会话的方式
(一)session机制保持会话
存在的问题
- 高并发情况下,会占用服务器大量内存
- 分布式(一个业务分成几个子业务,部署在多个服务器)或者集群(一个业务部署在多个服务器)的时候,session不能共享。
解决方案
- 高并发的时候可以将session存储到redis,如果用户长时间没有访问,将session存储到redis,就减少了服务器的压力。
- 分布式或者集群的时候,先通过redis来判断用户状态也可以实现session共享.
(二)cookie机制保持会话
使用的方法
- 登录验证后,创建登录凭证(比如:用户id+登录时间+过期时间),将登录凭证进行加密(为了避免暴露信息),加密后写到浏览器的cookie,以后,每次请求都发送cookie,服务器根据对应的解密算法对其进行验证(或者将加密过的cookie内容存储到数据库,请求服务器的时候,服务器在数据库进行查找)。
存在的问题
- 每次访问都提交cookie,增加请求量
- 其他访问可能需要cookie(比如说购物车的信息存放在cookie),浏览器对每个域存储的cookie的大小有限制,那么需要控制加密后的凭证。
(三)token机制保持会话
使用方法
- cookie 和session依赖于浏览器,如果客户端不是浏览器,那么需要手动添加token(和cookie类似,也是登录凭证),将token添加到http header或者做为参数添加到url。
存在的问题
- 每次访问的时候手动添加token
- 和cookie 的方式一样增加了请求量
总结
不同的方式适合不同的应用场景,视情况使用。
相同点
- 所有的方式目的都是为了验证用户状态。
- 都需要在客户端存储凭证。
不同点
- 第一种是通过是通过空间换时间,消耗内存存储session对象,但是判断用户状态不用复杂的逻辑。第二种第三种用时间换空间,在服务器端逻辑处理进行判断用户状态。
几种保持登录状态的方式相关推荐
- php和app保持登录状态,关于iOS开发者中APP保持登录状态的几种实现方式和一些思考...
在实际开发中几乎所有的APP都会存在用户体系,假如没有涉及用户体系的APP,提交审核的时候有很大概率会被苹果爹地直接拒绝不允许上架.而有了用户体系,那么就肯定会存在登录以及保持登录的需求,要不然用户每 ...
- Stateflow中三种状态转移方式的区别(默认转移、外部转移、内部转移)
文章目录 前言 一.让人头秃的自增循环 二.默认转移和内部转移的区别 三.抛弃during追求entry 总结 前言 Stateflow中有三种典型的状态转移方式:默认转移.外部转移.内部转移. 其中 ...
- app维持h5登录状态_维持团队设计质量的5种工具
app维持h5登录状态 Whenever you've worked in a team of designers, there has certainly been a time when some ...
- 在Forms验证模式下,实现多个站点(SubDomain相同)共享同一用户登录状态
原文:http://caomao.cnblogs.com/archive/2005/07/05/186606.html 今天一早看了dudu关于二级域名Cookie的问题及解决方法,认为dudu的原理 ...
- 单点登录常见解决方式和阿里云短信服务
1 单点登录(SSO) 三种常见方式: 1.1 第一种:session广播机制实现(已淘汰) 概念:就是session复制,一个模块登录后,该模块session存放用户登录信息,再把该session复 ...
- 4种常见的鉴权方式及说明
一.什么是鉴权 鉴权(authentication)是指验证用户是否拥有访问系统的权利.传统的鉴权是通过密码来验证的.这种方式的前提是,每个获得密码的用户都已经被授权.在建立用户时,就为此用户分配一个 ...
- 一种灵活可靠的工作方式:组件化设计与开发
一种灵活可靠的工作方式:组件化设计与开发 2017/03/20阅读 6.9k 评论 3收藏 174 零基础学产品,BAT产品总监带,2天线下集训+1年在线课程,全面掌握优秀产品经理必备技能.了解详情 ...
- Asp.Net使用加密cookie代替session验证用户登录状态 源码分享 欢迎拍砖
小论坛地址: http://rayyu.5d6d.com/thread-9444-1-1.html 正文: 首先 session 和 cache 拥有各自的优势而存在. 他们的优劣就不在这里讨论了. ...
- spring boot +vue用什么记录登录状态_2019年web前端Vue面试题总结
点击右上方红色按钮关注"web秀",让你真正秀起来 面试必备:2019Vue经典面试题总结(含答案) 一.什么是MVVM? MVVM是Model-View-ViewModel的缩写 ...
最新文章
- 重磅图书——PHP MySQL开发新圣经
- Java基础点——面向对象(中)
- OpenCV长方形squares探测器的实例(附完整代码)
- MyEclipse/Eclipse快捷键调试大全
- 字符串中最后一个词组的长度 Length of Last Word
- pep 8 规范的一些记录
- P4161-[SCOI2009]游戏【dp】
- 开源开放 | 中国近代历史人物知识图谱
- Twitter 宣布抛弃 Mesos,全面转向Kubernetes
- 【解决】Vsftp匿名上传问题
- 让谷歌、百度最快最多地收录您的网站
- 【测试】软件测试用例设计
- mysql sql 字符串拼接_深入讲解SQL中的字符串拼接
- AR图书,看着很美其实有点坑
- 万万没想到:用理工科思维理解世界-读后感
- 《超越对手-大项目售前售后的30种实战技巧》读书心得
- win10下的wsl真是太好用了
- java speech sdk_Microsoft Speech SDK开发包 使用
- 基于FPGA的图像平滑处理
- 《SAAS 架构设计》读后感