家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生 家电维修班,手机维修班,电脑维修班,电工班,焊工班,液晶电视维修班,电动工具维修班、电动车摩托车维修班、网络营销培训、网站设计培训、淘宝培训---全国招生
您现在的位置:首页 >> 电脑初学知识 >> 信息正文

入门:通通透透了解Cookies

2009-2-28 1:31:11 来源: 不详 作者:佚名 访问:0次 字号:【
    

    cookies现在经常被大家提到,那么到底什么是cookies,它有什么作用呢?cookies是一种能够让网站服务器把少量数据储存到客户端的硬盘或内存,或是从客户端的硬盘读取数据的一种技术。cookies是当你浏览某网站时,由web服务器置于你硬盘上的一个非常小的文本文件,它可以记录你的用户id、密码、浏览过的网页、停留的时间等信息。当你再次来到该网站时,网站通过读取cookies,得知你的相关信息,就可以做出相应的动作,如在页面显示欢迎你的标语,或者让你不用输入id、密码就直接登录等等。从本质上讲,它可以看作是你的身份证。但cookies不能作为代码执行,也不会传送病毒,且为你所专有,并只能由提供它的服务器来读取。保存的信息片断以“名/值”对(name-value pairs)的形式储存,一个“名/值”对仅仅是一条命名的数据。一个网站只能取得它放在你的电脑中的信息,它无法从其它的cookies文件中取得信息,也无法得到你的电脑上的其它任何东西。 cookies中的内容大多数经过了加密处理,因此一般用户看来只是一些毫无意义的字母数字组合,只有服务器的cgi处理程序才知道它们真正的含义。  

  由于cookies是我们浏览的网站传输到用户计算机硬盘中的文本文件或内存中的数据,因此它在硬盘中存放的位置与使用的操作系统和浏览器密切相关。在windows 9x系统计算机中,cookies文件的存放位置为c:windowscookies,在windows nt/2000/xp的计算机中,cookies文件的存放位置为c:documents and settings用户名cookies。  

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

  cookies的设置  

  你可以在ie的“工具/internet选项”的“常规”选项卡中,选择“设置/查看文件”,查看所有保存到你电脑里的cookies。这些文件通常是以user@domain格式命名的,user是你的本地用户名,domain是所访问的网站的域名。如果你使用netscape浏览器,则存放在“c:programfilesnets- 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,它是一个只读属性。

 

 


 

打印本文   加入收藏   返回顶部   关闭窗口Tags:入门|门通|通通|通  

网站: http://www.hnygpx.net 报名电话:0731-5579057   13807313137 报名信箱: yp5579@263.net 咨询QQ: 361928696,873219118 

校址:湖南省长沙市雨花区红花坡路176号(正圆厂内)。 来校路线:长沙火车站售票处后坪乘135路至"鼓风站"下车,回走100米即到

电工培训学校 电动车维修学校 摩托车维修学校 摩托车维修培训 手机维修培训 家电维修培训 电脑维修培训 电动工具维修培训 液晶电视维修培训 安防监控培训 空调维修培训 网络营销培训 网站设计培训 淘宝网店培训 电器维修培训 家电维修学校 电工培训 焊工培训 电工学校
中山市,固原市,银川市,玉树,海东,陇南市,酒泉市,张掖市,天水市,金昌市,兰州市,榆林市,延安市,渭南市,铜川市,阿里,山南,拉萨市,怒江,文山州,楚雄州,普洱市,昭通市,玉溪市,昆明市,毕节,铜仁,遵义市,贵阳市,甘孜州,资阳市,达州市,宜宾市,南充市,遂宁市,绵阳市,泸州市,自贡市,三亚市,崇左市,河池市,玉林市,钦州市,梧州市,柳州市,梅州市,肇庆市,湛江市,佛山市,珠海市,韶关市,湘西州,怀化市,郴州市,张家界市,邵阳市,株洲市,仙桃市,随州市,荆州市,荆门市,襄樊市,黄石市,驻马店市,信阳市,南阳市,漯河市,中卫市,石嘴山市,海西,海南藏州,黄南州,海北,甘南,庆阳市,平凉市,武威市,白银市,嘉峪关市,安康市,汉中市,咸阳市,宝鸡市,林芝,日喀则,昌都,迪庆,德宏,大理,西双版纳,红河州,临沧市,丽江市,保山市,曲靖市,黔东州,黔西州,安顺市,六盘水市,凉山州,阿坝州,雅安市,广安市,眉山市,内江市,广元市,德阳市,攀枝花市,成都市,海口市,来宾市,百色市,贵港市,北海市,桂林市,南宁市,云浮市,揭阳市,潮州市,清远市,阳江市,汕尾市,惠州市,茂名市,江门市,汕头市,深圳市,广州市,娄底市,永州市,益阳市,岳阳市,湘潭市,长沙市,恩施州,黄冈市,孝感市,鄂州市,十堰市,武汉市,周口市,商丘市,三门峡市,许昌市,焦作市,安阳市,鹤壁市,平顶山市,开封市,郑州市,聊城市,滨州市,德州市,莱芜市,日照市,泰安市,烟台市,潍坊市,东营市,淄博市,上饶市,济南市,抚州市,宜春市,赣州市,新余市,九江市,景德镇市,宁德市,南平市,泉州市,莆田市,厦门市,宣城市,亳州市,六安市,宿州市,黄山市,滁州市,安庆市,淮北市,马鞍山市,蚌埠市,芜湖市,合肥市,丽水市,舟山市,衢州市,金华市,湖州市,嘉兴市,宁波市,宿迁市,镇江市,盐城市,连云港市,苏州市,徐州市,南京市,绥化市,牡丹江市,佳木斯市,大庆市,鹤岗市,哈尔滨市,白城市,白山市,辽源市,吉林市,葫芦岛市,铁岭市,盘锦市,阜新市,锦州市,本溪市,鞍山市,沈阳市,锡林郭勒盟,通辽市,乌海市,吕梁市,忻州市,晋中市,晋城市,阳泉市,太原市,廊坊市,承德市,保定市,邯郸市,唐山市,宁夏,甘肃省,西藏,贵州省,重庆市,广西,湖南省,河南省,江西省,安徽省,江苏省,黑龙江省,辽宁省,山西省,天津市,四平市,内蒙古,吴忠市,果洛,西宁市,定西市,商洛市,西安市,那曲,黔南州,巴中市,乐山市,贺州市,防城港市,东莞市,河源市,常德市,衡阳市,咸宁市,宜昌市,濮阳市,新乡市,洛阳市,菏泽市,临沂市,威海市,济宁市,枣庄市,青岛市,吉安市,鹰潭市,萍乡市,南昌市,龙岩市,漳州市,三明市,福州市,池州市,巢湖市,阜阳市,铜陵市,淮南市,台州市,绍兴市,温州市,杭州市,泰州市,扬州市,淮安市,南通市,常州市,无锡市,大兴安岭,黑河市,七台河市,伊春市,双鸭山市,鸡西市,齐齐哈尔市,延边,松原市,通化市,长春市,朝阳市,辽阳市,营口市,丹东市,抚顺市,大连市,阿拉善盟,兴安盟,乌兰察布市,巴彦淖尔市,呼伦贝尔市,鄂尔多斯市,赤峰市,包头市,呼和浩特市,临汾市,运城市,朔州市,长治市,大同市,衡水市,沧州市,张家口市,邢台市,秦皇岛市,石家庄市,青海省,陕西省,云南省,四川省,海南省,广东省,湖北省,山东省,福建省,浙江省,上海市,吉林省,河北省,北京市