了解cookie和cookie的安全性

一、什么是cookie?

打开你的Documents and Settings文件夹,进去以后,随便打开一个用户来看看,是不是有一个文件夹叫“Cookies”,里面装着一堆.txt文件?那么,这个Cookies到底是个什么东东呢?

Cookie的英文原意是“甜饼”,但这里所讲的“Cookie”可不是糕点哦,它只是一个保存在客户机中的简单的文本文件,这个文件与特定的Web文档关联在一起,保存了该客户机访问这个Web文档时的信息,当客户机再次访问这个Web文档时这些信息可供该文档使用。由于“Cookie”具有可以保存在客户机上的神奇特性,因此它可以帮助我们实现记录用户个人信息的功能,而这一切都不必使用复杂的CGI等程序。是不是很有意思。

欢迎珈裙  四九六0三八649  学习交流,验证浇水。

二、Cookie的功能

1.定制个性化空间

用户访问一个站点,可能由于费用、带宽限制等原因,并不希望浏览网页所有的内容。Cookie可根据个人喜好进行栏目设定,即时、动态地产生用户所要的内容,这就迎合了不同层次用户的访问兴趣,减少用户项目选择的次数,更合理利用网页服务器的传输带宽。

2.记录站点轨迹

由于Cookie可以保存在用户机上,并在用户再次访问该Server时读回这一特性可以帮助我们实现很多设计功能,如显示用户访问该网页的次数;显示用户上一次的访问时间;甚至是记录用户以前在本页中所做的选择等等,这可免去我们再去研究复杂的CGI编程。

三、Cookie的组成

类似Javascript变量,Cookie由变量名和值组成。其属性里既有标准的Cookie变量,也有用户自己创建的变量,属性中变量是用“变量=值”形式来保存。

根据Netscape公司的规定,Cookie格式如下:

Set-Cookie: NAME=VALUE;Expires=DATE;Path=PATH;Domain=DOMAIN_NAME;SECURE

NAME=VALUE:

这是每一个Cookie均必须有的部分。NAME是该Cookie的名称,VALUE是该Cookie的值。在字符串“NAME=VALUE”中,不含分号、逗号和空格等字符。

Expires=DATE:Expires变量是一个只写变量,它确定了Cookie有效终止日期。该属性值DATE必须以特定的格式来书写:星期几,DD-MM-YY HH:MM:SS GMT,GMT表示这是格林尼治时间。反之,不以这样的格式来书写,系统将无法识别。该变量可省,如果缺省时,则Cookie的属性值不会保存在用户的硬盘中,而仅仅保存在内存当中,Cookie文件将随着浏览器的关闭而自动消失。

Domain=DOMAIN-NAME:Domain该变量是一个只写变量,它确定了哪些Internet域中的Web服务器可读取浏览器所存取的Cookie,即只有来自这个域的页面才可以使用Cookie中的信息。这项设置是可选的,如果缺省时,设置Cookie的属性值为该Web服务器的域名。

Path=PATH:Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的Cookie。一般如果用户输入的URL中的路径部分从第一个字符开始包含Path属性所定义的字符串,浏览器就认为通过检查。如果Path属性的值为“/”,则Web服务器上所有的WWW资源均可读取该Cookie。同样该项设置是可选的,如果缺省时,则Path的属性值为Web服务器传给浏览器的资源的路径名。

可以看出我们借助对Domain和Path两个变量的设置,即可有效地控制Cookie文件被访问的范围。

Secure:在Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时,浏览器才向服务器提交相应的Cookie。当前这种协议只有一种,即为HTTPS。

四、cookie的安全性

上面我们说到的全都是cookie对我们的好处,但是实际上好象偷偷的被人放了东西在自己的硬盘里(而且还有很多人是在并不知道的情况下)毕竟感觉不是很舒服,尤其是这个文件还可以被远程的服务器长期的监控,修改,记录一些你冲浪的习惯甚至你的相关密码.....这个这个,虽然有一定的便利可图,但是始终感觉不对味....当然,如果遇到一个很正规的大网站当然不用怕,但是要知道世界上还是有很多黑客网站的哦!所以呢——你自己看着办拉,我只是提供这些信息而已,呵呵。

最后就是如果你觉得还是对cookie这种东东加以限制的好呢,下面有几种方法,你可以参考参考哦!

如果你用的浏览器是IE4:就右件点击Internet Exploer—>属性—>安全—>自定义级别—>选中“禁止所有Cookie使用”这个复选项就可以了;

如果你用的是IE5,哪就比较麻烦了,因为IE5还有本地、可信站点、受限站点等等级别之分,没办法,你就一个个的设吧。

上面的办法都比较麻烦,有没有什么简单点的办法呢?呵呵,其实你只要把刚刚咱们说的cookies文件夹设为“只读”不就完了吗?

不过最后还有些cookie不是放在你能看到的地方,而是放在注册表中的(一说到注册表我头就大了),哪就运行regedit,打开

HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/ CurrentVersion/ InternetSettings / Cache/Special Paths/Cookies

删除其中所有的文件,OK拉,最后再用查找功能一个个的把“Cookies”找出来,一一删除就行拉!

上一篇:Dell PowerEdge R740xd解析:服务器只看参数那就错了


下一篇:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(15)-权限管理系统准备