对于session和cookie之间的区别,这个问题困扰了好久,因为做靶场的时候,都是告知拿到cookie后,再次登录时利用cookie的加载可以直接绕过用户名和密码的登录就可以登录到目标网站,关于session的介绍则会比较少一些。
查阅很多资料后,得知的概念就是,cookie在客户端,而session在服务端,作用大同小异。
一、定义:
Cookie技术是客户端的解决方案,cookie是由服务器发送给客户端的特殊信息,而这些信息会以文本文件的方式存放在客户端,然后客户端每次向服务器发送请求时都会带上这些特殊的信息。说得更加具体一些就是:当用户使用浏览器访问一个支持cookie的网站时,用户会提供包括用户名在内的个人信息并且提交至服务器。
Session技术则是指服务器的解决方案,它是通过服务器来保持状态的。由于session这个词汇包含的语义很多,因此在这里需要明确一下session的含义。首先,通常情况下我们把session翻译成会话,因此我们可以把客户端浏览器和服务器之间一系列的交互动作称为一个session。从这个语义出发,我们会提到session持续的时间,会提到在session过程中进行了什么操作等等;其次,session指的是服务器端为客户端所开辟的存储空间,在其中保存的信息就是用户保持状态。
二、Session和cookie的区别:
1、session数据存储在服务器上,cookie的数据存放在用户的浏览器上(即常说的客户端上);
2、cookie安全性不高,别人可以分析存放在本地上的cookie并进行欺骗,考虑到安全性应当使用session;
3、session会在一定时间内保存在服务器上,当访问量增多时会非常占用服务器的性能,考虑到服务器性能方面应当使用cookie;
4、单个cookie保存的数据不能超过4k,很多浏览器都限制一个站点,且最多保存20个cookie;
5、处于安全性能考虑:涉及到登录信息等重要敏感信息存放在session,其他的信息如果需要保留可以放在cookie中。
session与cookie的区别
最新推荐文章于 2022-05-24 08:48:08 发布