不知道大家有没有注意过,当你在某搜索引擎搜索一些关键字时,列如“饮食健康”在你搜索并浏览过后,再次打开其他网站或者收到一些推广时,就会有“饮食健康”这类的信息,在电商网站时也是这样。出现这种现象当然不是你的电脑产生了灵智,最起码咱们现在的科技达不到,一切得原因是浏览器中的“Cookie”出卖了你。
Cookie是什么!?对于没有互联网经验的同学也许第一反应是这个。
那只能说你是个吃货!再送你一句忠告,同学请善待你的胃!
闲话不多说咱们进入正题,什么是Cookie?
Cookie 技术产生源于 HTTP 协议在互联网上的急速发展,由W3C组织提出。随着互联网的深层次发展,带宽等限制不存在了,人们需要更复杂的互联网交互活动,就必须同服务器保持活动状态。于是,在浏览器发展初期,为了适应用户的需求,技术上推出了各种保持 Web 浏览状态的手段,其中就包括了 Cookie 技术。1993 年,网景公司雇员 Lou Montulli 为了让用户在访问某网站时,进一步提高访问速度,同时也为了进一步实现个人化网络,发明了今天广泛使用的 Cookie。
那么Cookie的整个运行机制跟运行原理是怎么样的?
上面说过Cookie的分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的Cookie,伴随网页数据传回到你的浏览器,浏览器会根据你电脑中的Cookie设置选择是否保存这些数据。如果浏览器不允许Cookie保存,则关掉浏览器后,这些数据就消失。Cookie的内容主要包括:名字(Name)、值(Value)、过期时间(Expires)、路径(Path)和域(Domain)。
其中Name跟Value就是Cookie里面存放内容用的。
Expires是(有效期)属性,这个属性决定了Cookie的保存时间,服务器可以通过设定Expires字段的数值,来改变Cookie的保存时间。如果不设置过期时间,则表示这个cookie的生命期为浏览器会话期间,只要关闭浏览器窗口,Cookie就消失了。这种生命期为浏览器会话期的cookie被称为会话Cookie。会话Cookie一般不存储在硬盘上而是保存在内存里,当然这种行为并不是规范规定的。如果设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再次打开浏览器,这些Cookie仍然有效直到超过设定的过期时间。
存储在硬盘上的cookie可以在不同的浏览器进程间共享,比如两个IE窗口。而对于保存在内存里的Cookie,不同的浏览器有不同的处理方式。对于IE,在一个打开的窗口上按Ctrl-N(或者从文件菜单)打开的窗口可以与原窗口共享,而使用其他方式新开的IE进程则不能共享已经打开的窗口的内存Cookie;对于MozillaFirefox0.8,所有的进程和标签页都可以共享同样的Cookie。一般来说是用ja vascript的window.open打开的窗口会与原窗口共享内存Cookie。浏览器对于会话Cookie的这种只认cookie不认人的处理方式经常给采用session机制的web应用程序开发者造成很大的困扰。
Path(路径)和Domain(域)
其中域可以指定某一个域比如.google.com,也可以指定一个域下的具体某台机器比如www.google.com或者froogle.google.com。
路径就是跟在域名后面的URL路径,比如/或者/foo等等,
路径与域合在一起就构成了cookie的作用范围。
一些搜索引擎跟电商网站是如何获取到我们的Cookie记录的?
Cookie记录着用户的帐户ID、密码之类的信息,如果在网上传递,通常使用的是MD5方法加密。这样经过加密处理后的信息,即使被网络上一些别有用心的人截获,也看不懂,因为他看到的只是一些无意义的字母和数字。然而,遇到的问题是,截获Cookie的人不需要知道这些字符串的含义,他们只要把别人的Cookie向服务器提交,并且能够通过验证,他们就可以冒充受害人的身份,登陆网站。这种方法叫做Cookie欺骗。Cookie欺骗实现的前提条件有两个第一点是服务器的验证程序存在漏洞,第二点并且冒充者要获得被冒充的人的Cookie信息。网站的验证程序要排除所有非法登录是非常困难的,例如,编写验证程序使用的语言可能存在漏洞。而且要获得别人Cookie是很容易的,用支持Cookie的语言编写一小段代码就可以实现,只要把这段代码放到网络里,那么所有人的Cookie都能够被收集。如果一个论坛允许HTML代码或者允许使用Flash标签就可以利用这些技术收集Cookie的代码放到论坛里,然后给帖子取一个吸引人的主题,写上有趣的内容,很快就可以收集到大量的Cookie。在论坛上,有许多人的密码就被这种方法盗去的。至于如何防范,还没有特效药,我们也只能使用通常的防护方法,不要在论坛里使用重要的密码,也不要使用IE自动保存密码的功能,以及尽量不登陆不了解底细的网站。
因此,跨站Cookie恰恰就是用户隐私泄露的罪魁祸首,所以限制网站使用跨站Cookie,给用户提供禁止跟踪(DNT)功能选项已成为当务之急。据了解,IE、Chrome、360、搜狗等浏览器均可以快速清除用户浏览器网页的Cookie信息。但从整体的隐私安全保护环境来看,安全软件仍然存在着巨大的防护缺口。所以安全软件也可以并且有必要提供定期清理网站Cookie,并监测跨站Cookie使用的功能,保护用户隐私安全。
现在的互联网日益发达,但是人们对自己信息的安全意识却没有跟上飞速发展的互联网,希望通过此简文能让你增加一些安全意识!谢谢!