前言/PREFACE
Cookie是在HTTP协议下,服务器或脚本用来维护客户端上信息的一种方式。Cookie是由Web服务器保存在用户浏览器(客户端)上的小文本文件,它可以包含有关用户的信息。无论何时用户链接到服务器,Web站点都可以访问Cookie信息。
?什么是Cookie
cookie,即小饼干,是保存在用户代理端(浏览器是最常见的用户代理)的一些数据片段。浏览网页时,浏览器会将当前页面有效的cookie放在请求的头部发送到服务端。cookie常用于识别用户。cookie是服务器留在用户计算机中的小文件。每当相同的计算机通过浏览器请求页面时,它同时会发送cookie。通过PHP,您能够创建并取回cookie的值。
?Cookie的主要用途
服务器可以利用Cookie包含信息的任意性来筛选并维护这些信息,以判断HTTP传输中的状态。Cookie最典型的应用是判定注册用户是否已经登录网站,同时用户可能也会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookie的功用。
另一个重要应用场合就是商城类网站的“购物车”功能。用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookie,以便在最后付款时提取信息。
?Cookie的识别功能
如果在一台计算机中安装多个浏览器,每个浏览器都会在各自独立的空间存放Cookie。因为Cookie中不但可以确认用户,还能包含计算机和浏览器的信息,所以一个用户用不同的浏览器登录或者用不同的计算机登录,都会得到不同的Cookie信息,另一方面,对于在同一台计算机上使用同一浏览器的多个用户,Cookie不会区分他们的身份,除非他们使用不同的用户名登录。
?如何创建cookie
setcookie()函数用于设置cookie。
注释:setcookie()函数必须位于html标签之前。
语法
例子
在下面的例子中,我们将创建名为"user"的cookie,把为它赋值"AlexPorter"。我们也规定了此cookie在一小时后过期:
(注释:在发送cookie时,cookie的值会自动进行URL编码,在取回时进行自动解码(为防止URL编码,请使用setrawcookie()取而代之)。
?如何取回Cookie的值
PHP的$_COOKIE变量用于取回cookie的值。
在下面的例子中,我们取回了名为"user"的cookie的值,并把它显示在了页面上:
在下面的例子中,我们使用isset()函数来确认是否已设置了cookie:
?如何删除cookie
当删除cookie时,您应当使过期日期变更为过去的时间点。
删除的例子:
?cookie的良好实践
从cookie字面意思便可看出,保存的是数据片段。web开发中cookie使用的频率比较高,应该多加以理解。以下是一些使用cookie的良好实践:
不应该在cookie中保存过大和过多的数据;
cookie在客户端和传输中是明文可见的,不应该在cookie中保存敏感信息;
为了站点和用户安全,尽可能将cookie的