cookie(客户端)
作用
- 会话状态管理
- 个性化设置
- 浏览器行为追踪
常用属性
- domain 域
- path 路径
- expire-Time有效时间
- http-only 使用限制
存在问题
-
潜在的网络攻击
-
跨站请求伪造 CSRF
跨站请求伪造(英语:Cross-site request forgery),也被称为 one-click attack 或者 session riding,通常缩写为 CSRF 或者 XSRF, 是一种挟制用户在当前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
- 跟跨网站脚本(XSS)相比,XSS 利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的信任。
-
浏览器会话劫持
-
-
非HTTP明文
-
网络负载高
-
数据和容量限制
session(服务端)
定义
-
Session代表服务器与浏览器的一次会话过程
Session机制将用户的所有活动信息、上下文信息、登录信息等都存储在服务端,只是生成一个唯一标识ID发送给客户端,后续的交互将没有重复的用户信息传输,取而代之的是唯一标识ID,暂且称之为Session-ID吧。
实现方式
-
cookie
-
URL重写
- 将会话标识号以参数形式附加在超链接的URL地址后面的技术称为URL重写。
问题
-
海量用户时巨大的存储压力
-
分布式系统中信息的共享问题
-
信息复制&重建资源浪费
-
定向哈希高可用问题
-
信息集群化分布式共享
- 集群化¥代理化把信息管理起来实现共享
-
token
交互流程
定义
-
header
- 记录加密算法信息,base64编码
-
payload
- 记录用户及过期时间,base64编码
-
signature
- 根据header中的加密算法和payload中的用户信息以及密钥key来生成,是服务端验证服务端的重要依据
-
用CPU加解密的时间换取存储空间
优点
- Token可以跨站共享,实现单点登录
- Token机制无需太多存储空间
- Token机制的安全性依赖于服务端加密算法和密钥的安全性