js获取response cookies_功能测试之Cookies 测试

5ffd9d6440d9b05598be2ce6fa941ed4.png

Cookies 是一种提供Web 应用程序中存储用户特定信息的方法,能够让网站服务器把少量数据存储到客户端的硬盘或内存,或是从客户端的硬盘读取数据的技术。

Cookies 是一小段文本信息,伴随着用户请求和页面在Web 服务器和浏览器之间传递,Cookies包含每次用户访问站点时Web 应用程序都可以读取的信息。例如,如果在用户请求站点中的页面时,应用程序发送给该用户的不仅仅是一个页面,还有一个包含日期和时间的 Cookie,用户的浏览器在获得页面的同时还获得了该Cookie,并将它存储在用户硬盘上的某个文件夹中。之后,如果用户再次请求该站点中的页面,当该用户输入 URL 时,浏览器便会在本地硬盘上查找与该URL关联的Cookie。如果该Cookie 存在,浏览器便将该Cookie 与页面请求一起发送到浏览的站点。应用程序便可以确定该用户上次访问站点的日期和时间,可以使用这些信息向用户显示一条消息,也可以检查到期日期。

从本质上讲,Cookies 可以看作是访问者的身份证。但Cookies 不能作为代码执行,也不会传送病毒,且为访问者所专有,并只能由提供它的服务器来读取。保存的信息片断以“名/值对”(name-value pairs)的形式存储,一个“名/值对”仅仅是一条命名的数据。一个网站只能取得其放在访问者的计算机中的信息,无法从其他的Cookies 文件中取得信息,也无法得到访问者的计算机上的其他任何东西。

Cookies 的测试包含以下几个方面:

 >>Cookies 的作用域是否正确合理

 >>Cookies 的安全性

>> Cookies 的过期时间是否正确

 >>Cookies 的变量名与值是否正确

 >>Cookies 是否必要,是否缺少

默认情况下,一个站点的全部Cookies 都存储在客户端上,当客户端向服务器发送请求时,Cookies 会随请求一起被发送到服务器端。Cookies 一般通过以下两种方式来设置作用域,测试时需要注意:

 将Cookies 的范围限制在服务器上的某个文件夹,允许将Cookies 限制到网站上的某个应用程序。

 将范围设置为某个域,允许指定域中的一些子域访问Cookies。

将Cookies 限制到服务器上的某个文件夹的代码如下(与Visual Basic 和C#为例):

(1)Visual Basic 语言:

Dim appCookie As New HttpCookie("AppCookie")

appCookie.Value = "written " & DateTime.Now.ToString()

appCookie.Expires = DateTime.Now.AddDays(1)

appCookie.Path = "/Application1"

Response.Cookies.Add(appCookie)

(2)C#语言:

HttpCookie appCookie = new HttpCookie("AppCookie");

appCookie.Value = "written " + DateTime.Now.ToString();

appCookie.Expires = DateTime.Now.AddDays(1);

appCookie.Path = "/Application1";

Response.Cookies.Add(appCookie);

默认情况下,Cookie 与特定域关联,例如,当用户向亚马逊网站http://www.amazon.cn请求任何页面时,Cookie 就会被发送到服务器,那么该Cookie 的作用域则为特定域(这可能不包括带有特定路径值的Cookie)。如果站点具有子域(例如http://sales.contoso.com),则可以将Cookie 与特定的子域关联。

(1)Visual Basic 语言:

Response.Cookies("domain").Value = DateTime.Now.ToString()

Response.Cookies("domain").Expires = DateTime.Now.AddDays(1)

Response.Cookies("domain").Domain = "http://sales.contoso.com"

(2)C#语言:

Response.Cookies["domain"].Value = DateTime.Now.ToString();

Response.Cookies["domain"].Expires = DateTime.Now.AddDays(1);

Response.Cookies["domain"].Domain = "http://sales.contoso.com";

需要设计不同的Cookie 来测试其他作用域是否正确。

(1)Cookies 的安全性

Cookie 其实是一种存储用户信息的方式,因此很容易被人非法获取和利用,因此Cookie 同样也存在安全性问题。因此Cookie 中最好不要存储一些敏感的信息,如用户名、密码、信用卡号等。需要时应该对Cookie 中的一些字段进行加密处理,避免Cookie 以明文形式在浏览器与服务器之间发送,测试时需要确定Cookie 中一些重要的信息是否被加密处理。

(2)Cookies 过期时间是否正确

在开发过程中会对Cookie 的过期日期和时间进行设置,测试需要注意Cookie 的过期时间是否正确。当用户访问编写Cookie 的网站时,浏览器会将过期的Cookie 删除,如果是设置为永不过期的Cookie,可以将日期设置为从现在起50 年。如果未设置Cookie 的有效期,仍然会创建Cookie文件,但不会将该文件存储在用户硬盘上,只是将Cookie 作为用户会话信息的一部分进行维护。当用户关闭浏览器时,Cookie 会被丢弃。

(3)Cookies 的变量名和值是否正确

以JavaScript 为例,Cookie 的定义格式为“变量1=值1;变量2=值2;变量3=值3;”。下面是一

个Cookie 的实例代码:

email="bush@usa.com";

firstname="arivn";

lastname="test";

expireDate="Thursday,01-Jan-2050 12:00:00 GMT";

document.cookie="email="+email+";expires="+expireDate;

document.cookie="firstname="+firstname+";expires="+expireDate;

document.cookie="lastname="+lastname+";expires="+expireDate;

测试时需要测试Cookie 文件中每个变量名和值是否对应,并且需要保证其正确性。

(4)Cookies 是否必要,是否缺少

测试Cookie 是否必要和是否缺少有两个方面的测试内容:一是生成的Cookie 文件是否与创建的一致,不能多也不能少;二是对于不必要的Cookie 可以删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值