session,cookie,token的一点理解

cookie的出现是为了解决http协议的无状态问题,cookie是存储在浏览器中的。用户登录后,将登录信息写入cookie,浏览器每次访问携带,来证明登录的合法性。
cookie要携带登录用户的信息,这样造成了不安全性,session就是为了解决这个问题。session将用户信息存储在服务器,将生成的唯一id存入cookie,也就是sessionId。这样cookie每次只携带sessionId就可以了,提高了安全性,而且降低了携带大量参数造成的网络开销。session存储在服务端,负面影响就是占用了服务器内存,对服务器造成压力。现在常用的手段是将session放入redis集群中。
session跨域问题?
此问题常存在于单点登录中,A系统生成的cookie,浏览器在访问B系统的时候不会携带。单点登录的时候,需要专门的登录服务器,访问任何系统,都有重定向到该登录服务器,登录服务器可以将A系统的cookie,写入到访问B域名。这样在访问B系统的时候,就会携带cookie。
cookie劫持问题?
虽然用到session,cookie中只需要一个sessionId字符串,但是如果有人非法获取了这个字符串,仍然可以伪装成合法用户。这个时候可以用到token,token是服务器将一些私人信息通过加密算法生成的加密字符串,token也存储在cookie中,浏览器访问系统需要携带token,服务器收到后再进行解密,查看信息是否合法。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值