作者声明:最近开始接触Cookie,只是把自己学到的和理解到的分享出来。有问题请容纳。
cookie简介
1.Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。
2.Cookie是存储在客户端浏览器中的数据,我们通过Cookie来跟踪与存储用户数据。一般Cookie是通过HTTP headers从服务器返回到客户端。因为Cookie存在于HTTP的标头中,所以必须在其他信息输出以前进行设置,类似于header函数的使用限制。
3.PHP进行Cookie的设置使用的是setcookie函数,PHP会自动将从浏览器中发送回来的Cookie存储在$_COOKIE的全局变量中,所以我们可以用$_COOKIE[‘key‘]的形式来读取Cookie值。
4.PHP中的Cookie经常用来存储用户的登录信息,购物车等,且在使用会话Session时通常使用Cookie来存储会话id来识别用户,Cookie具备有效期,有效期一过Cookie会自动的从客户端删除。同事为了进行安全控制,Cookie还可以设置有效域和路径。
设置cookie
1.PHP设置Cookie使用的是setcookie函数,setcookie的可选参数是7个,最常用的5个是:
name(Cookie的名)可以通过$_COOKIE[‘name‘]进行访问。
value(Cookie的值)。
expire(有效时间/过期时间)Unix时间戳格式,默认为0,则表示浏览器关闭Cookie就会被删除。
path(有效路径)如果路径设置的是‘/‘,则整个网站都有效。
domain(有效域)默认是整个域名都有效,如果设置了‘www.xxxx.com‘,则只在www子域中有效
代码:
$value = ‘cookievalue‘;//Cookie的值
setcookie("TestCookie", $value);//设置Cookie的名和值
setcookie("TestCookie", $value, time()+3600); //有效期一小时
setcookie("TestCookie",$value,time()+3600,"/path/","baidu.com");//设置路径与域
2.PHP设置Cookie还有一个跟setcookie基本一样的setrawcookie函数,唯一不同的就是cookie的value值不会自动的进行url编码urlencode,因此需要手动的进行urlencode。
代码:
setrawcookie(‘cookiename‘,rawurlencode($value),time()+3600);
3.因为Cookie是通过HTTP标头进行设置的,所以也可以直接使用header方法进行设置。
代码:
header("Set-Cookie:cookiename=value");