0
点赞
收藏
分享

微信扫一扫

session、cookie、token


session、cookie、token

我想想怎么简单的来说呢,

session是在服务器端的(就是你写的后端服务中),其中包含sessionid

cookie是存放在浏览器中,cookie中会保存着sessionid

1,session 在服务器端,cookie 在客户端(浏览器)

2,session 默认被存在在服务器的一个文件里(不是内存)

3,session 的运行依赖 session id,而 session id 是存在 cookie 中的,也就是说,如果浏览器禁用了 cookie ,同时 session 也会失效(但是可以通过其它方式实现,比如在 url 中传递 session_id)

4,session 可以放在 文件、数据库、或内存中都可以。

5,用户验证这种场合一般会用 session

session、cookie、token_服务器

token 也称作令牌,由uid+time+sign[+固定参数]
token 的认证方式类似于临时的证书签名, 并且是一种服务端无状态的认证方式, 非常适合于 REST API 的场景. 所谓无状态就是服务端并不会保存身份认证相关的数据。

组成
uid: 用户唯一身份标识
time: 当前时间的时间戳
sign: 签名, 使用 hash/encrypt 压缩成定长的十六进制字符串,以防止第三方恶意拼接
固定参数(可选): 将一些常用的固定参数加入到 token 中是为了避免重复查库
存放
token在客户端一般存放于localStorage,cookie,或sessionStorage中。在服务器一般存于数据库中

token可以抵抗csrf,cookie+session不行

csrf:中文名称:跨站请求伪造。
意思就是其他网站,盗用你的cookie然后复制到自己的cookie中,模拟用户身份登录,操作。


举报

相关推荐

0 条评论