为了账号安全,请及时绑定邮箱和手机立即绑定

有了cookie为什么需要session?

有了cookie为什么需要session?

汪汪一只猫 2018-10-24 12:20:44
使用纯客户端中的cookie就能完成会话保持,为什么需要服务端的session?session的运行机制会产生一个session_id的cookie给客户端保存,然后客户端下次请求的时候会带着这个session标识符给服务器,服务器根据这个来找session。不使用session同样可以实现会话保持,这一点是肯定的也许你会说安全性问题。但这就是我不解的。以下是我亲测的:登录某网站,然后复制该网站的cookie。在另一个浏览器中打开该网站(未登录状态)并填入复制好的cookie,刷新页面,网站变成了登录状态。(我不是指所有网站,只是个别网站)只要盗取了cookie,就能劫持session。同样的道理,如果单使用cookie,那么也是一样只要盗取了cookie就能做到冒充登录。既然盗取了cookie,无论是session还是cookie都一样会被冒充,那为什么需要session呢?看到很多关于session和cookie的文章都是泛泛而谈,有没有真正理解了这个原理的人告诉我这个小白菜鸟真正的答案啊。
查看完整描述

1 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

  1. 用session只需要在客户端保存一个id,实际上大量数据都是保存在服务端。如果全部用cookie,数据量大的时候客户端是没有那么多空间的。

  2. cookie只是实现session的其中一种方案。虽然是最常用的,但并不是唯一的方法。

  3. 全部在客户端保存,服务端无法验证,这样伪造和仿冒会更加容易。(伪造一个随机的id很难,但伪造另一个用户名是很容易的)

  4. 全部保存在客户端,那么一旦被劫持,全部信息都会泄露

  5. 客户端数据量变大,网络传输的数据量也会变大


查看完整回答
反对 回复 2018-10-24
  • 1 回答
  • 0 关注
  • 1090 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信