Session 解决了什么问题?
2023-03-20 14:53:24 时间
一、服务器怎么判断用户的登录状态?
1、简单分为这么几步:
- 用户通过浏览器访问网站,服务器接受到请求后,生成一个有时长限制的
秘密口令
,返回给用户,同时服务器也有备份了秘密口令
; - 浏览器接受到
秘密口令
并保存到本地; - 用户再次使用浏览器发出请求时,会取出
秘密口令
一起发送给服务端; - 服务器接受到
秘密口令
后,就开始在备份中寻找,有没有相同的且没有过期的秘密口令
。如果有,那么说明用户已经登录。
2、Session 与 Cookie
- Session:是上面提到的 服务端 生成和存储
秘密口令
的过程; - Cookie:是上面提到的 浏览端 存储和发送
秘密口令
的过程;
二、具体实现过程
1、浏览器 怎么接收 服务器 生成的 秘密口令
?
浏览器 和 服务器 之间是通过 HTTP 或 HTTPS 协议进行传输数据的,那么就在 HTTP 协议的 Header 增加一个字段用来传输 秘密口令
,这个字段就是 Set-Cookie
,浏览器会自动保存此字段的数据。
2、服务器 怎么接收 浏览器 回传的 秘密口令
?
浏览器 会在 HTTP 协议的 Header 增加一个字段用来发送 秘密口令
,这个字段就是 Cookie
,服务器通过此字段来接收 秘密口令
并进行下一步操作。
3、怎么保证其传输的安全性?
为了增加安全性,就给这个 密码口令 增加了很多属性,譬如:Secure 、 HttpOnly、Domain、Path等,通常我们把 密码口令
+ 属性
这个格式的数据称之为 Cookie。Cookie 使用有其相应的规则,详情看这里!
三、怎么使用 session 到项目中?
可以通过现有的一些 库 来增加session到项目中,下面推荐几个不同场景下的 session 库:
1、Redis
2、express-session
Node.js 项目中,如果使用了express 开发的 web 服务,可以使用他来实现session。
四、参考文档
相关文章
- 在 Linux 下用 mkdir 命令来创建目录和子目录
- 如何在 Linux 下执行 bin 文件
- 互联网企业安全高级指南2.2 如何建立一支安全团队
- 互联网企业安全高级指南3.1 从零开始
- 互联网企业安全指南3.2 不同阶段的安全建设重点
- 互联网企业安全高级指南3.3 如何推动安全策略
- 跨越终端中多个vim实例访问剪切板内容
- 互联网企业安全高级指南3.4 安全需要向业务妥协吗
- 互联网企业安全高级指南3.5 选择在不同的维度做防御
- Ubuntu 14.04/13.10 用户怎样安装 Ubuntu Touch 核心应用
- 互联网企业安全高级指南3.6 需要自己发明安全机制吗
- Linux 系统实时监控的瑞士军刀 —— Glances
- 互联网企业安全高级指南3.7 如何看待SDL
- 戴文的Linux内核专题:19 配置内核 (15)
- 互联网企业安全高级指南3.7.1 攻防驱动修改
- 互联网企业安全高级指南3.7.2 SDL落地率低的原因
- 霍金启动太空项目:数千个邮票大小的纳米小型太空飞船起航在即...
- 互联网企业安全高级指南3.7.3 因地制宜的SDL实践
- 3D打印技术在医疗领域能做些什么?帮助精确完成手术
- 互联网企业安全高级指南3.7.4 SDL在互联网企业的发展