Cookie详细介绍

Cookies是一种可以让网站服务器把少许数据储存到客户端的硬盘或内 存,或是从客户端的硬盘读取数据的一种技术。Cookies是当你浏览某网站时,由Web服务器置于你硬盘上的一个很是小的文本文件,它能够记录你的用户 ID、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站经过读取Cookies,得知你的相关信息,就能够作出相应的动做,如在页面显 示欢迎你的标语,或者让你不用输入ID、密码就直接登陆等等。 

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

Cookies中的内容大多数通过了加密处理,所以通常用户看来只是一些毫无心义的字母数字组合,只有服务器的CGI处理程序才知道它们真正的含义。 

由 于Cookies是咱们浏览的网站传输到用户计算机硬盘中的文本文件或内存中的数据,所以它在硬盘中存放的位置与使用的操做系统和浏览器密切相关。在 Windows 9X系统计算机中,Cookies文件的存放位置为C:WindowsCookies,在Windows NT/2000/XP的计算机中,Cookies文件的存放位置为Cocuments and Settings用户名Cookies。 

硬盘中的Cookies文件能够被Web浏览器读取,它的命令格式为:用户名@网站地址[数字].txt。如笔者计算机中的一个Cookies文件名为:ch@163[1].txt。要注意的是:硬盘中的Cookies属于文本文件,不是程序。 

Cookies的设置 

你 能够在IE的“工具/Internet选项”的“常规”选项卡中,选择“设置/查看文件”,查看全部保存到你电脑里的Cookies。这些文件一般是以 user@domain格式命名的,user是你的本地用户名,domain是所访问的网站的域名。若是你使用NetsCape浏览器,则存放在 “CROGRAMFILESNETS- CAPEUSERS”里面,与IE不一样的是,NETSCAPE是使用一个Cookie文件记录全部网站的Cookies。 

我 们可对Cookie进行适当设置:打开“工具/Internet选项”中的“隐私”选项卡(注意该设置只在IE6.0中存在,其余版本IE能够单击“工具 /Internet选项”“安全”标签中的“自定义级别”按钮,进行简单调整),调整Cookie的安全级别。一般状况,能够调整到“中高”或者“高”的 位置。多数的论坛站点须要使用Cookie信息,若是你历来不去这些地方,能够将安全级调到“阻止全部Cookies”;若是只是为了禁止个别网站的 Cookie,能够单击“编辑”按钮,将要屏蔽的网站添加到列表中。在“高级”按钮选项中,你能够对第一方Cookie和第三方的Cookie进行设置, 第一方Cookie是你正在浏览的网站的Cookie,第三方Cookie是非正在浏览的网站发给你的Cookie,一般要对第三方Cookie选择“拒 绝”。你若是须要保存Cookie,可使用IE的“导入导出”功能,打开“文件/导入导出”,按提示操做便可。 

Cookies的写入与读取 

Cookies集合是附属于Response对象及Request对象的数据集合,使用时须要在前面加上Response或Request。 

用于给客户机发送Cookies的语法一般为: 

当给不存在的Cookies集合设置时,就会在客户机建立,若是该Cookies己存在,则会被代替。因为Cookies是做为HTTP传输的头信息的一部分发给客户机的,因此向客户机发送Cookies的代码通常放在发送给浏览器的HTML文件的标记以前。 

若是用户要读取Cookies,则必须使用Request对象的Cookies集合,其使用方法是: 

需 要注意的是,只有在服务器未被下载任何数据给浏览器前,浏览器才能与Server进行Cookies集合的数据交换,一旦浏览器开始接收Server所下 载的数据,Cookies的数据交换则中止,为了不错误,要在程序和前面加上response.Buffer=True。 

Cookies的应用 

几乎全部的网站设计者在进行网站设计时都使用了Cookie,由于他们都想给浏览网站的用户提供一个更友好的、人文化的浏览环境,同时也能更加准确地收集访问者的信息。 

网站浏览人数管理 

因为代理服务器、缓存等的使用,惟一能帮助网站精确统计来访人数的方法就是为每一个访问者创建一个惟一的ID。使用Cookie,网站能够完成如下工做:测定多少人访问过;测定访问者中有多少是新用户(即第一次来访),多少是老用户;测定一个用户多久访问一次网站。 

一般状况下,网站设计者是借助后台数据库来实现以上目的的。当用户第一次访问该网站时,网站在数据库中创建一个新的ID,并把ID经过Cookie传送给用户。用户再次来访时,网站把该用户ID对应的计数器加1,获得用户的来访次数或判断用户是新用户仍是老用户。 

按照用户的喜爱定制网页外观   

有的网站设计者,为用户提供了改变网页内容、布局和颜色的权力,容许用户输入本身的信息,而后经过这些信息对网站的一些参数进行修改,以定制网页的外观。 

在电子商务站点中实现诸如“购物篮”等功能 

可使用Cookie记录用户的ID,这样当你往“购物篮”中放了新东西时,网站就能记录下来,并在网站的数据库里对应着你的ID记录当你“买单”时,网站经过ID检索数据库中你的全部选择就能知道你的“购物篮”里有些什么。 

在通常的事例中,网站的数据库可以保存的有你所选择的内容、你浏览过的网页、你在表单里填写的信息等;而包含有你的惟一ID的Cookie则保存在你的电脑里。 

Cookies的缺陷 

Cookie虽然被普遍的应用,并能作到一些使用其它技术不可能实现的功能。但也存在一些不够完美的方面,给应用带来不便。 

多人共用一台电脑的问题 

任 何公共场合的电脑或者许多在办公室或家里使用的电脑,都会同时被两个以上的人使用。这样,当你用它在网上超市购物时,网上超市或网站会在这台机器上留下一 个Cookie,未来也许就会有某我的试图使用你的帐户购物,带来了不安全的可能。固然,在一些使用多用户操做系统如Windows NT或UNIX的电脑上,这并不会成为一个问题。由于在多用户操做系统下不一样的帐户的Cookie分别放在不一样的地方。 

Cookies被删除时 

假 如你的浏览器不能正常工做,你可能会删除电脑上全部的临时Internet文件。然而,一旦这样操做之后,你就会丢掉全部的Cookies文件。当你再次 访问一个网站时,网站会认为你是一位新用户并分配给你一个新的用户ID以及一个新的Cookie。结果将会形成网站统计的新老用户比发生误差,而你也难以 恢复过去保存的参数选择。 

一人使用多台电脑时 

有的人一天之中 常用一台以上的电脑。例如在办公室里有一台电脑、家里有一台、还有移动办公用的笔记本电脑。除非网站使用了特别的技术来解决这一问题,不然,你将会有 三个不一样的Cookies文件在这三台机器上,而在三台机器上访问过的任何网站都将会把你当作三个不一样的用户。 


防范Cookies泄密 

想知道你访问的网站是否在你的硬盘或内存中写入了Cookies信息吗?只需执行下面的操做步骤,就能够了解和控制你正在访问的网站的Cookies信息。 

步骤一 点击IE窗口中的“工具” “In-ernet选项”,打开“Internet选项”设置窗口; 

步骤二 点击“Internet选项”设置窗口中的“安全”标签,而后再点击“自定义级别”按钮,进入“安全设置”窗口; 

步 骤三 找到“安全设置”窗口中的“Cookies”设置项。“Cookies”设置项下有两个分选项,其中“容许使用存储在您计算机上的Cookies”是针对 存储在用户计算机硬盘中的Cookies文件;“容许使用每一个对话Cookies(未存储)”是针对存储在用户计算机内存中的Cookies信息。存储在 硬盘中的Cookies文件是永久存在的,而存储在内存中的Cookies信息是临时的。要想IE在即将接收来自Web站点的全部Cookies时进行提 示,可分别选择上面两个分选项中的“提示”项。固然,你也能够选择“启用”,容许IE接受全部的Cookies信息(这也是IE的默认选项);选择“禁 止”,则是不容许Web站点将Cookies存储到您的计算机上,并且Web站点也不能读取你计算机中已有的Cookies。 

IE6.0 提供了更为可靠的我的隐私及安全保护措施,可让用户来控制浏览器向外发送信息的多少。在“Internet 选项”窗口中新增了“隐私”选项卡(图1),用户能够在其中直接设置浏览时的隐私级别,按须要控制其余站点对本身电脑所使用的Cookies。若是咱们正 在浏览的站点使用了Cookie,那么在浏览器状态栏中会有一个黄色惊叹号的标记,双击后可打开“隐私报告”对话框,用户能够在其中查看具体的隐私策略, 还可直接点击“设置”按钮后在上述“隐私”选项卡中调节安全隐私级别。 

在“常规”选项卡中还增长了“删除 Cookies”按钮(图2),方便用户直接清除本机上的Cookies。另外,在“工具” “选项” “高级”选项卡中也增长了一些进一步提升安全性的 选项(如关闭浏览器时清空Internet临时文件)。其实,如何更好地保护我的隐私和安全是微软下一代“.NET”战略软件中的关键技术,如今 IE6.0已经尝试着迈出了第一步。 

另外,因为Cookies的信息并不都是以文件形式存放在计算机里,还 有部分信息保存在内存里。好比你在浏览网站的时候,Web服务器会自动在内存中生成Cookie,当你关闭IE浏览器的时候又自动把Cookie删除,那 样上面介绍的两种方法就起不了做用,咱们须要借助注册表编辑器来修改系统设置。要注意的是,修改注册表前请做备份,以便出现问题后能顺利恢复。 

运 行Regedit,找到以下键 值:HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersionInternet SettingsCacheSpecial PathsCookies,这是Cookies在内存中的键值,把这个键值删除。至此Cookies不管以什么形式存在,咱们都不用再惧怕了。 

最后有必要说明的一点是:杜绝Cookies虽然能够加强你电脑的信息安全程度,但这样作一样会有一些弊端。好比在一些须要Cookies支持的网页上,会发生一些莫名其妙的错误,典型的例子就是你之后不能使用某些网站的免费信箱了。 

Cookies欺骗 

通 过度析Cookie的格式,咱们知道,最后两项中分别是它的URL路径和域名,服务器对Cookie的识别靠的就是这两个参数。正常状况下,咱们要浏览一 个网站时输入的URL即是它的域名,须要通过域名管理系统DNS将其转化为IP地址后进行链接。若能在DNS上进行一些设置,把目标域名的IP地址对应到 其它站点上,咱们即可以非法访问目标站点的Cookie了。 

要进行Cookies欺骗,其实很简单。好比在Win9X下的安装目录下,有一名为hosts.sam的文件,以文本方式打开后会看到这样的格式: 

127.0.0.1  localhost 

经 过设置,即可以实现域名解析的本地化,只需将IP和域名依上面的格式添加到文件中并另存为hosts便可。hosts文件实际上能够当作一个本机的DNS 系统,它能够负责把域名解释成IP地址,它的优先权比DNS服务器要高,它的具体实现是TCP/IP协议中的一部分。 

好比咱们要读取的目标站点 www.abc.com 所生成的Cookies信息,能够借助www.def.com(本身的站点)。在www.def.com 存放用来进行欺骗所需的文件,经过它读取和修改对方的Cookie。 

步骤一 ping出www.def.com 的IP地址: 

ping www.def.com 

Reply from 192.168.0.1: bytes=32 time=20ms TTL=244 

而后修改hosts.sam文件以下: 

192.168.0.1 www.abc.com 

并保存为hosts文件。 

步骤二 读取Cookies信息: 

将用来读取Cookie的页面传至www.def.com ,此时连上www.abc.com,因为咱们进行本机DNS域名解析的修改,这时网络链接的并非www.abc.com,而是www.def.com 。

这样www.abc.com设在本地的Cookie即可被读出。 

步骤三 一样道理,你可对读出的数据进行修改,并可将修改后的信息写入Cookie中。修改完毕后,删掉hosts文件,再从新进入www.abc.com,此时所使用的Cookies数据就是你制定的数据。 

总之,在某种程度上虽然能够实现Cookies的欺骗,给网络应用带来不安全的因素,但Cookies文件自己并不会形成用户隐私的泄露,也不会给黑客提供木马程序的载体,只要合理使用,它们会给网站管理员进行网站的维护和管理以及广大用户的使用都带来便利。 


Cookies集合具备如下几种属性 

1.Expires属性:此属性用来给Cookies设置一个期限,在期限内只要打开网页就能够调用被保存的Cookies,若是过了此期限Cookies就自动被删除。如: 

设定Cookies的有效期到2004年4月1日,到时将自动删除。若是一个Cookies没有设定有效期,则其生命周期从打开浏览器开始,到关闭浏览器结束,每次运行后生命周期将结束,下次运行将从新开始。 

2.Domain属性:这个属性定义了Cookies传送数据的惟一性。若只将某Cookies传送给搜狐主页时,则可以使用以下代码: 

3.Path属性:定义了Cookies只发给指定的路径请求,若是Path属性没有被设置,则使用应用软件的缺省路径。 

4.Srcure属性:指定Cookies可否被用户读取。 

5.Haskeys属性:若是所请求的Cookies是一个具备多个键值的Cookies字典,则返回True,它是一个只读属性。数据库

相关文章
相关标签/搜索