Cookie和Session的区别

📅 2026/7/28 16:53:02
Cookie和Session的区别
session简单的说当你登陆一个网站的时候如果web服务器端使用的是session那么所有的数据都保存在服务器上客户端每次请求服务器的时候会发送当前会话sessionid服务器根据当前sessionid判断相应的用户数据标志以确定用户是否登陆或具有某种权限。由于数据是存储在服务器上面所以你不能伪造。cookiesessionid是服务器和客户端连接时候随机分配的如果浏览器使用的是cookie那么所有数据都保存在浏览器端比如你登陆以后服务器设置了cookie用户名那么当你再次请求服务器的时候浏览器会将用户名一块发送给服务器这些变量有一定的特殊标记。cookie的过期时间是可以设置的如果不设置则浏览器关掉就消失了是存储在内存当中的否则就是按照我们设置的时间来存储在硬盘上的当过期后自动清除比方说我们开机关机关闭再打开浏览器后他都会还存在前者称之为Session cookie 又叫 transient cookie后者称之为Persistent cookie 又叫 permenent cookie。如果你能够截获某个用户的cookie变量然后伪造一个数据包发送过去那么服务器还是 认为你是合法的。所以使用cookie被攻击的可能性比较大。如果cookie设置了有效值那么cookie会保存到客户端的硬盘上下次在访问网站的时候浏览器先检查有没有cookie如果有的话读取cookie然后发送给服务器。所以你在机器上面保存了某个论坛cookie有效期是一年如果有人入侵你的机器将你的cookie拷走放在他机器下面那么他登陆该网站的时候就是用你的身份登陆的。当然伪造的时候需要注意直接copy cookie文件到 cookie目录浏览器是不认的他有一个index.dat文件存储了 cookie文件的建立时间以及是否有修改所以你必须先要有该网站的 cookie文件并且要从保证时间上骗过浏览器两个都可以用来存私密的东西session过期与否取决于服务器的设定。cookie过期与否可以在cookie生成的时候设置进去。区别对比(1)cookie数据存放在客户的浏览器上session数据放在服务器上(2)cookie不是很安全别人可以分析存放在本地的COOKIE并进行COOKIE欺骗,如果主要考虑到安全应当使用session(3)session会在一定时间内保存在服务器上。当访问增多会比较占用你服务器的性能如果主要考虑到减轻服务器性能方面应当使用COOKIE(4)单个cookie在客户端的限制是4K就是说一个站点在客户端存放的COOKIE不能4K。(5)所以将登陆信息等重要信息存放为SESSION;其他信息如果需要保留可以放在COOKIE中