C/C++教程

cookie与session的区别

本文主要是介绍cookie与session的区别,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

cookie

session

备注

性能

session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能 

考虑到减轻服务器性能方面,应当使用cookie。 

安全性

用户可以分析存放在本地的cookie并进行cookie欺骗

存储内容

字符串

任何信息


存储位置

浏览器

服务器


大小

<4K

无限制

session一般只有时间限制,没有大小限制,但是session是在服务器端的,应该节约服务器端的资源;而cookie很多浏览器都限制一个站点最多保存20个cookie。

1、cookie数据存放在客户的浏览器上,session数据存放在服务器上;

2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗;

考虑到安全应当使用session

3、session会在一定时间内保存在服务器上,当访问量增加时,会比较占用服务器的性能;

考虑到减轻服务器性能方面,应当使用cookie

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie;

5、将登录信息等重要信息存放在cookie,其他信息如果需要保留,可以放在cookie中;

sessionStorage  localStorage 和cookie之间的区别

共同点:都是保存在浏览器端,且同源的

区别:

1、cookie数据自始至终在同源的http请求中携带,即cookie在浏览器和服务器间来回传递,而sessionStorage和localStorage不会自动把数据发给服务器,仅在本地保存。cookie数据还有路径的概念,可以限制cookie只属于某个路径下。

2、存储大小限制也不同,cookie数据不能超过4K,同时每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识,sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大得多,可以达到5M或者更大。

3、数据有效期不同,sessionStorage仅在当前浏览器窗口关闭前有效,自然也就不可能持久保持

localStorage始终有效,窗口或浏览器关闭也一直保存,因此用作持久数据;cookie只在设置的cookie过期时间之前一直有效,即使窗口或浏览器关闭

4、作用域不同,sessionStorage不在不同的浏览器窗口中共享,即使是同一个页面;localStorage在所有同源窗口中都是共享的,cookie也是在所有同源窗口中都是共享的

5、WEB Storage支持事件通知机制,可以将数据更新的通知发送给监听者

6、WEB Storage的api接口使用更方便

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用服务器的性能,考虑到服务器性能方面,应当使用cookie。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、我认为将登陆信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中

cookie

sessionid是服务器和客户端连接时候随机分配的,如果浏览器使用的是cookie,那么所有数据都保存在浏览器端,比如你登陆以后,服务器设置了cookie用户名,那么当你再次请求服务器的时候,浏览器会将用户名一块发送给服务器,这些变量有一定的特殊标记。服务器会解释为cookie变量,所以只要不关闭浏览器,那么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在客户端的限制是3K,就是说一个站点在客户端存放的COOKIE不能3K。

(5)所以:将登陆信息等重要信息存放为SESSION;其他信息如果需要保留,可以放在COOKIE中

  • cookie数据存放在客户的浏览器上,session数据放在服务器上

  • cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑*到安全应当使用session

  • session会在一定时间内保存在服务器上,当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面,应当使用cookie

  • 单个cookie保存的数*据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

  • 建议将登录信息等重要信息存放为session,其他信息如果需要保留,可以放在cookie中

  • session保存在服务器,客户端不知道其中的信心;cookie保存在客户端,服务器能够知道其中的信息

  • session中保存的是对象,cookie中保存的是字符串

  • session不能区分路径,同一个用户在访问一个网站期间,所有的session在任何一个地方都可以访问到,而cookie中如果设置了路径参数,那么同一个网站中不同路径下的cookie互相是访问不到的

(1)cookie数据存放在客户的浏览器上,session数据放在服务器上

(2)cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session

(3)session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie

(4)单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie

(5)可以将登陆信息等重要信息存放为session;其他信息需要保存,可以放在cookie

Cookie和session

什么是cookie?

分为两种方式

临时性的内存cookie

相关的cookie信息存放在浏览器的缓存中

如果浏览器关闭后,cookie信息被释放

安全性高

易用性差

硬盘cookie

cookie信息是保存在客户端机器的硬盘中

永久保存,可以反复读取,除非用户执行删除

易用性好

安全性差

为什么要有cookie,它的作用是什么?

1.访问网站,每次都需要输入用户名和密码

不太方便

只输入用户名的一部分或全部

密码自动出现在对应的文本框中

用户会觉得很方便

大大提高用户访问网站的频率

安全性有隐患

解决方案

增加验证码输入

手机短信验证码

1.提高用户的访问频率,增强易用性

2.登录某个网站后,会有欢迎xxxx使用该网站

通过读取cookie信息,了解用户名,提高网站的亲和力

3.通过对用户访问习惯的记录,提供一些个性化的服务

旅游网站

查询一些目的地

记录在cookie中

等到下次访问时,网站会自动根据我们查询过的关键字,主动把一些用户关注的信息,放在显要位置或置前

提升用户体验

统计网站用户经常查询的关键字有哪些,对这些关键字进行统计和排序

去西藏,可能开发更多的关于西藏的内容,供用户查询、使用或购买

来提升网站的效益

用户经常性的购买某一类商品,在登录后,系统可以自动推送相关的内容

4.统计访问网站的登录时间

压力性能测试的时间点

进行广告的推送

访问网站的时长

粉丝级客户

普通级客户

cookie测试

1.访问网站,每次都需要输入用户名和密码

分第一次登录还是非第一次登录

1.第一次登录后

检查是否在对应路径生成相应的cookie文件

沟通问题

开发问题

cookie存放在何处?

默认存放地点

用户修改浏览器存放位置

2.不是第一次登录

异常测试点1

本地cookie文件被删除

1.第一次登录

产生了cookie文件

2.把对应的cookie文件删除

3.关闭浏览器重新打开,再次进行登录

4.预期输出:重新生成cookie文件

异常测试点2

对应的cookie文件存放路径所在磁盘空间已满

无法创建cookie文件,系统是否有正常的提示

异常测试点3

1.登录

2.生成cookie文件

3.cookie路径进行修改

4.再重新登录

5.预期输出,生成新的cookie文件

异常测试点4

cookie文件只在登录成功后,进行保存

登录不成功的情况,是不应该生成cookie文件

异常测试点5

1.登录

2.生成cookie

3.重新修改密码

4.退出

5.再次登录后

6.预期输出

cookie文件应该进行自动修改

安全性测试点

加密存储的

加密是正确的

找到开发

cookie文件的解密程序

解密后

用户名和密码的信息要与登录信息一致

2.登录某个网站后,会有欢迎xxxx使用该网站

3.通过对用户访问习惯的记录,提供一些个性化的服务

旅游网站

查询一些目的地

记录在cookie中

等到下次访问时,网站会自动根据我们查询过的关键字,主动把一些用户关注的信息,放在显要位置或置前

提升用户体验

测试点

1.以某个用户登录

2.进行旅游地点的查询

查询1个

查询多个

是多个目的地都显示相关信息

还是只显示查询频率最高的目的地的信息

只显示最近一次查询目的地信息

开发或设计人员明确后才能确定

3.退出

4.重新登录

5.预期输出

针对用户查询过的旅游地点进行内容的自动提取和推送

开发沟通

系统是否提供这样的功能

统计网站用户经常查询的关键字有哪些,对这些关键字进行统计和排序

提取所有客户的cookie文件信息

旅游目的地的查询关键字

对关键字使用程序进行统计

或进行数据分析

进行排序

对于查询频率较高的地点

信心置顶

多搜索此类信息

提高网站的吸引力

去西藏,可能开发更多的关于西藏的内容,供用户查询、使用或购买

来提升网站的效益

用户经常性的购买某一类商品,在登录后,系统可以自动推送相关的内容

什么是session

为什么使用cookie?

1.方便用户进行登录

相关的用户信息存储在cookie文件中

2.收集用户的相关登录时间、时长、使用习惯等

为什么使用session?

1.登录网站后,进行各种操作

2.跳转到其他页面

http协议

无状态协议

不记录用户身份信息

产生的问题

1.只要打开一个新的页面,就需要操作登录进行身份验证

2.任意人就可以直接输入网址进行访问

查询高考的成绩

网页地址

不进行身份验证

直接输入网页地址就能打开页面

安全性差

3.产生了session技术处理

session原理

1.当用户注册后

2.在本地生成一个cookie文件,保存用户信息

3.用户登录

1.系统检查本地是否存在cookie文件

若不存在,等待登录成功后,在本地创建cookie文件

若已存在,系统在用户登录的同时,由服务器端自动随机分配一个sessionID传入cookie文件进行保存

4.当用户打开某些需要权限设置的页面时,系统回去检查对应的sessionID是否有效正确

5.假如服务器无法识别对应的sessionID或者不存在对应的sessionID

提示没有权限打开该页面,提示用户重新登录

6.若对应的sessionID存在且有效正确

展开对应用户的相关页面

查看自己的订单等

sessionID有一个有效期

一般30分钟,安全性高的10分钟

session测试点

用户登录系统时,服务器给发送随机的sessionID

页面跳转时进行身份的验证

测试前沟通准备工作

1.sessionID存在在哪里

2.session有效期

session有效期我们设置的时长

30.分钟

测试点

1.登录

2.系统会生成sessionID

3.在30分钟内打开相关页面

可以正常打开使用

4.超过30分钟没有进行任何操作

5.再打开有相关权限设置的页面

或在已打开的页面

查看订单页面

查看个人信息页面

执行刷新操作

预期输出

提示网页已过期,请重新登录

3.session内容更新的测试

4.sessionID互窜测试

每一个不同的用户登录

都会生成一个唯一的sessionID

测试点1

1.打开某一个浏览器

2.以张三登录

3.立刻退出浏览器

4.重新打开浏览器

5.以李四登录

6.再退出浏览器

7.直接打开某一个需要权限校验的页面

预期输出:?

开发沟通确认

设计是如何要求的

默认使用张三的账号

默认使用李四的账号

默认提示没有权限,请重新登录

针对session存放在cookie文件中

测试点2

1.打开某一个浏览器A

2.以张三登录

3.重新用浏览器A打开新的登录页面

4.在第二个页面中,以李四登录

5.又重新回到张三登录后的页面

6.进行相关的权限页面操作

查看个人信息

7.预期输出:显示张三的个人信息页面

多打开几个页面,用多个用户进行尝试

5个用户的测试

测试点3

1.打开某一个浏览器A

I.E.

2.以张三登录

3.打开另一个浏览器B

火狐

4.以李四登录

5.回到浏览器A

6.打开相关的张三权限页面

查看个人信息

7.预期输出:显示张三的个人信息页面

多使用多种不同的浏览器,进行多用户的尝试

用5种不容的浏览器产品,选择5个不同的用户进行测试

sessionID的安全性测试

测试点1

存储安全

临时内容中

是否可以通过内存访问工具获取

是否进行加密存储

存放在cookie文件中

一定要进行加密存储

测试点2

传输安全

登录提交后

post

get

将sessionID 传给服务器

传送过程中是否进行加密

抓包工具。截取数据包,如果没有加密,就可能会被获取或篡改

sessionID性能测试

原因,session是从服务器发出的

会对服务器的性能造成压力

多人同时并发登录时

服务器要进行session的处理和分配

作业

cookie

cookie的原理和作用

cookie测试点

cookie的缺点

session

session的作用

session的测试点

cookie与session的区别:

Session和Cookies区别cookie数据存放在客户的浏览器上,session数据放在服务器上。cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗考虑到安全应当使用session。session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用COOKIE。单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

作业

知道cookie和session的关系

知道cookie是如何产生的

知道sessionid的产生和作用

知道cookie上的重要字段和作用

图片

这篇关于cookie与session的区别的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!