仓酷云

标题: PHP网页编程之Cookie及其利用(一) [打印本页]

作者: 柔情似水    时间: 2015-2-4 00:20
标题: PHP网页编程之Cookie及其利用(一)
在一个团队之中或者说是在一个公司的工作岗位上,需要注重团队之间的交流合作;在学习或工作上都要端正自己的态度,要以认真的态度来对每件事,这样才能让自己更快的投入、更快的学习,而不至于浪费自己的时间。cookie   Cookie手艺是一个十分有争议的手艺,自经出生它就成了宽大收集用户和Web开辟人员的一个争辩核心。有一些收集用户,乃至包含一些资深的Web专家也对它的发生和推行感应不满,这倒不是由于Cookie手艺的功效太弱或其余手艺功能上的缘由,而仅仅是由于他们感觉Cookie的利用,对收集用户的隐私组成了伤害。由于Cookie是由Web办事器保留在用户阅读器上的小文本文件,它包括有关用户的信息(如身份辨认号码、暗码、用户在Web站点上购物的体例或用户会见该站点的次数)。

那末Cookie手艺事实如何呢?是不是真的给收集用户带来了团体隐私的伤害呢?仍是让咱们看了上面的内容,再做回覆吧。

(1)Cookie手艺简介

在WEB手艺开展史上,Cookie手艺的呈现是一个严重的厘革。最早是Netscape在它的Netscape Navigator 阅读器中引入了Cookie手艺,从那时起,World Wide Web 协会就入手下手撑持Cookie尺度。今后又经由微软的鼎力推行(由于微软的IIS Web办事器所采取的ASP手艺很大水平的利用了Cookier手艺),即在微软的Internet Explorer阅读器中完整撑持Cookie手艺。到如今,绝大多半的阅读器都撑持Cookie手艺,或最少兼容Cookie手艺的利用。

1)甚么是Cookie?

依照Netscape官方文档中的界说,Cookie是在HTTP协定下,办事器或剧本可以保护客户任务站上信息的一种体例。Cookie是由Web办事器保留在用户阅读器上的小广西文件,它可以包括有关用户的信息(如身份辨认号码、暗码、用户在Web站点购物的体例或用户会见该站点的次数)。不管什么时候用户链接到办事器,Web站点都可以会见Cookie信息。

浅显地讲,阅读器用一个或多个限制的文件来撑持Cookie。这些文件在利用Windows操作体系的机械上叫做Cookie文件,在Macintosh机械上叫做magic Cookie 文件,这些文件被网站用来在下面存储Cookie数据。网站可以在这些Cookie文件中拔出信息,如许对有些收集用户就有些反作用。有些用户以为这形成了对团体隐私的侵占,更糟的是,有些人以为Cookie是对团体空间的侵犯,并且会对用户的盘算机带来平安性的伤害。

今朝有些Cookie是一时的,另外一些则是延续的。一时的Cookie只在阅读器上保留一段划定的工夫,一旦超越划定的工夫该Cookie就会被体系排除。例如在PHP中Cookie被用来跟踪用户历程直到用户分开网站。延续的Cookie则保留在用户的Cookie文件中,下一次用户前往时,依然可以对它停止挪用。

在Cookie文件中保留Cookie,一些用户会过度地以为这将带来很大的成绩。次要是有些用户忧虑Cookie会跟踪用户网上冲浪的习气,比如用户喜欢到那些类型的站点、爱从事些甚么举动等。惧怕这类团体信息一旦落入一些心怀叵测的家伙手中,那末团体也便可能成为一大堆告白渣滓的对象,乃至遭到不测的伤害。不外,这类忧虑压根儿不会产生,由于网站之外的用户是没法跨过网站来取得Cookie信息的。所以想以这类目标来使用Cookie是不成能的。不外,因为一些用户毛病的了解和“耳食之言”,一些阅读器开辟商别无选择,只好作出了解的呼应(例如Netscape Navigator4.0和Internet Explorer3.0都供应了屏障Cookie的选项)。

对Cookie手艺等候了这么久的了局是,迫使很多阅读器开辟商在它们的阅读器中供应了对Cookie的天真性掌握功效。例如,今朝的两大主流阅读器Netscape Navigator 和 Internet Explorer是如许处置Cookie的:Netscape Navigator4.0不仅可以承受Cookie停止正告,并且还可以屏障失落Cookie;InternetExplorer3.0也能够屏障Cookie,但在Internet Explorer4.0中就只能停止承受正告而没有供应屏障选项,不外在Internet Explorer4.0以后的更新版本中又到场了屏障Cookie的功效选项。

另外,良多最新的手艺乃至已可以在不克不及屏障Cookie的阅读器长进行Cookie的屏障了。例如,可以经由过程将Cookie文件设置成分歧的类型来限制Cookie的利用。然而,十分不幸地是,如果你想完整屏障Cookie的话,一定会因而回绝很多的站点页面。由于现今已有很多Web站点开辟人员爱上了Cookie手艺的壮大功效,例如Session对象的利用就离不开Cookie的撑持。

虽然明天仍有一些收集用户关于Cookie的争辩乐此不倦,然而关于绝大多半的收集用户来讲仍是偏向于承受Cookie的。因而,咱们尽可以宁神地利用Cookie手艺来开辟咱们的WEB页面。

2)Cookie是如何任务的?

要懂得Cookie,必不成少地要晓得它的任务道理。普通来讲,Cookie经由过程HTTP Headers从办事器端前往到阅读器上。起首,办事器端在呼应中使用Set-Cookie header来创立一个Cookie,然后,阅读器在它的恳求中经由过程Cookie header包括这个已创立的Cookie,而且反它前往至办事器,从而完成阅读器的论证。

例如,咱们创立了一个名字为login的Cookie来包括会见者的信息,创立Cookie时,办事器真个Header以下面所示,这里假定会见者的注册名是“Michael Jordan”,同时还对所创立的Cookie的属性如path、domain、expires等停止了指定。

Set-Cookie:login=Michael Jordan;path=/;domain=msn.com;
expires=Monday,01-Mar-99 00:00:01 GMT

下面这个Header会主动在阅读器端盘算机的Cookie文件中添加一笔记录。阅读器将变量名为“login”的Cookie赋值为“Michael Jordon”。注重,在实践传递过程当中这个Cookie的值是经由了URLEncode办法的URL编码操作的。
这个含有Cookie值的HTTP Header被保留到阅读器的Cookie文件后,Header就告诉阅读器将Cookie经由过程恳求以疏忽途径的体例前往到办事器,完成阅读器的认证操作。

另外,咱们利用了Cookie的一些属性来限制该Cookie的利用。例如Domain属功能够在阅读器端对Cookie发送停止限制,详细到下面的例子,该Cookie只能转达室到指定的办事器上,而决不会跑到其他的如www.hp.com的Web站点上去。Expires属性则指定了该Cookie保留的工夫刻日,例如下面的Cookie在阅读器上只保留到1999年3月1日1秒。固然,假如阅读器上Cookie太多,超越了体系所答应的局限,阅读器将主动对它停止删除。至于属性Path,用来指定Cookie将被发送到办事器的哪个目次途径下。

申明:阅读器创立了一个Cookie后,关于每个针对该网站的恳求,城市在Header中带着这个Cookie;不外,关于其他网站的恳求Cookie是相对不会随着发送的。并且阅读器会如许一向发送,直到Cookie过时为止。  学会了PHP,那么学其他的语言,肯定速成,反过来也一样,如果你之前学过其他的语言,那么学PHP肯定快。
作者: 愤怒的大鸟    时间: 2015-2-4 11:58
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 因胸联盟    时间: 2015-2-9 22:29
当然这种网站的会员费就几十块钱。
作者: 若相依    时间: 2015-2-28 02:10
我还是推荐用firefox ,配上firebug 插件调试js能省下不受时间。谷歌的浏览器最好也不少用,因为谷歌的大侠们实在是太天才啦,把一些原来的js代码加了一些特效。
作者: 小魔女    时间: 2015-3-6 21:46
学习php的目的往往是为了开发动态网站,phper就业的要求也涵盖了很多。我大致总结为:精通php和mysql
作者: 再见西城    时间: 2015-3-10 21:20
真正的方向了,如果将来要去开发团队,你一定要学好smarty ,phplib这样的模板引擎,
作者: 柔情似水    时间: 2015-3-11 07:21
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 精灵巫婆    时间: 2015-3-22 16:50
首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。
作者: 莫相离    时间: 2015-3-23 19:40
先学习php和mysql,还有css(html语言很简单)我认为现在的效果比以前的方法好。
作者: 飘灵儿    时间: 2015-3-23 22:48
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
作者: 蒙在股里    时间: 2015-3-25 06:22
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
作者: admin    时间: 2015-4-7 04:53
学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。
作者: 乐观    时间: 2015-4-8 23:13
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 冷月葬花魂    时间: 2015-4-12 09:48
刚开始安装php的时候,我图了个省事,把php的扩展全都打开啦(就是把php.ini 那一片 extension 前面的冒号全去掉啦),这样自然有好处,以后不用再需要什么功能再来打开。
作者: 山那边是海    时间: 2015-4-16 13:06
最后介绍一个代码出错,但是老找不到错误方法,就是 go to wc (囧),出去换换气没准回来就找到错误啦。
作者: 老尸    时间: 2015-4-22 10:42
Ps:以上纯属原创,如有雷同,纯属巧合
作者: 谁可相欹    时间: 2015-5-4 09:44
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 只想知道    时间: 2015-5-7 02:00
当然这种网站的会员费就几十块钱。
作者: 海妖    时间: 2015-5-8 00:10
如果你可以写完像留言板这样的程序,那么你可以去一些别人的代码了,
作者: 活着的死人    时间: 2015-6-4 09:34
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2