Cookie

Cookie

Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。

Cookie文件是由服务端生成的保存在客户端的文件:一般用来储存用户登陆信息,行为页面缓存等。

当在浏览器地址栏中键入了Amazon的URL,浏览器会向Amazon发送一个读取网页的请求,并将结果在显示器上显示。这时该网页在你的电脑上寻找Amazon网站设置的Cookie文件,如果找到,浏览器会把Cookie文件中的数据连同前面输入的URL一同发送到Amazon服务器。服务器收到Cookie数据,就会在他的数据库中检索你的ID,你的购物记录、个人喜好等信息,并记录下新的内容,增加到数据库和Cookie文件中去。如果没有检测到Cookie或者你的Cookie信息与数据库中的信息不符合,则说明你是第一次浏览该网站,服务器的CGI程序将为你创建新的ID信息,并保存到数据库中。Cookie是利用了网页代码中的HTTP头信息进行传递的,浏览器的每一次网页请求,都可以伴随Cookie传递,例如,浏览器的打开或刷新网页操作。服务器将Cookie添加到网页的HTTP头信息中,伴随网页数据传回到你的浏览器,浏览器会根据你电脑中的Cookie设置选择是否保存这些数据。如果浏览器不允许Cookie保存,则关掉浏览器后,这些数据就消失。Cookie在电脑上保存的时间是不一样的,这些都是由服务器的设置不同决定的。Cookie有一个Expires(有效期)属性,这个属性决定了Cookie的保存时间,服务器可以通过设定Expires字段的数值,来改变Cookie的保存时间。如果不设置该属性,那么Cookie只在浏览网页期间有效,关闭浏览器,这些Cookie自动消失,绝大多数网站属于这种情况。通常情况下,Cookie包含Server、Expires、Name、value这几个字段,其中对服务器有用的只是Name和value字段,Expires等字段的内容仅仅是为了告诉浏览器如何处理这些Cookies。

而session 不同于cookie它是被默认被存在在服务器的一个文件或者数据库中的。

Cookie文本文件的命令格式如下:用户名@网站地址[数字].txt

web服务器会使用这样的格式生成Cookie文件文本在用户指定的的硬盘内。

一.创建Cookie:

setcookie()函数定义了一个与其他HTTP头一起发送的cookie。

Cookie通常用于标识用户。Cookie是服务器嵌入用户计算机的小文件。每次同一台计算机通过浏览器请求页面时,它也会发送cookie。使用PHP,您可以创建和检索cookie值。

Cookie的名称会自动分配给同名变量。例如,如果使用名称“user”发送cookie,则会自动创建一个名为$ user的变量,其中包含cookie值。

注意: setcookie()函数必须出现在<html>标记之前。

注意: cookie的值在发送cookie时自动进行URL编码,并在收到时自动解码(以防止URL编码,改为使用setrawcookie())。

在PHP中通过setcookie()函数创建Cookie。语法如下:

bool setcookie(string name[,string value[,int expire[,string path[,string domain[,int secure]]]]]);

参数说明
namecookie的变量名可以通过$_COOKIE['cookiename']调用变量名为cookiename的Cookie
valuecookie变量的值通过$_COOKIE['values']获取名为value的值
expirecookie的失效时间,expire是UNIX时间标记可以用time()函数mktime()函数获取,单位为秒。必须设置Cookie的失效时间,不然cookie文件将一直有效
pathcookie在服务端的路径设置它的有效路径
domaincookie域名直接用“域名.com”域名使“域名.com”所有子站都有效
secureHTPPS ( "1" OR "0" )if (cookie=1){ 只能HTTPS连接有效;}else { cookie在HTTP和HTTPS连接上均有效;}

1.使用setcookie()函数创建Cookie:

setcookie("cookie", "test",  time() + (86400 * 30), '/');

cookie名为“cookie”,值为“test”。Cookie将在30天后(86400 * 30)过期。使用“/”表示cookie在整个网站中可用(否则,请选择相应的目录)。

2.使用setrawcookie()函数创建一个cookie(没有URL编码)以及其他HTTP头文件。

Cookie通常用于标识用户。Cookie是服务器嵌入用户计算机的小文件。每次同一台计算机通过浏览器请求页面时,它也会发送cookie。使用PHP,您可以创建和检索cookie值。

Cookie的名称会自动分配给同名变量。例如,如果使用名称“user”发送cookie,则会自动创建一个名为$ user的变量,其中包含cookie值。

注意: setrawcookie()函数必须出现在<html>标记之前。

注意:要在发送时自动对cookie值进行URL编码,并在接收时自动解码,请使用setcookie()函数。

setrawcookie(name,value,expire,path,domain,secure);

setrawcookie("testname", "testvalue", time() + (86400 * 30), "/");

cookie名为“testname”,值为“testvalue”。cookie值不会进行URL编码。Cookie将在30天后(86400 * 30)过期。使用“/”表示cookie在整个网站中可用(否则,请选择相应的目录)。

二.获取Cookie

$_cookie[$cookieName];


回复列表



回复操作

正在加载验证码......

请先拖动验证码到相应位置

发布时间:2017-11-03 15:21:07

修改时间:2019-08-02 01:21:36

查看次数:451

评论次数:0