php之cookie-创新互联
Cookie介绍:
目前创新互联公司已为上千多家的企业提供了网站建设、域名、虚拟空间、网站托管、服务器租用、企业网站设计、信丰网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。Cookie是浏览用户访问某些网站时、web服务器在客户端写入的一些小文件、换句话说就是Cookie是存放在客户端的内存或磁盘里.
Cookie可以记录用户浏览的个人信息、像用户访问网站时间、做过哪些事、购物车内有商品变动等、这样、用户下次再访问网站时、就可以直接从Cookie调用以前的数据。
Cookie优点:
1、Cookie默认的生命周期起始于浏览器开始运行时、结束于浏览器终止时、此时cookie是存放在客户端的内存中、你还可以设置cookie的生命周期、以秒数计算、将它写入客户端的磁盘里、这样就不会担心cookie自动消失。
2、Cookie存放在客户端的内存或磁盘里、不会占用web服务器的资源。
3、cookie可以记录用户浏览的个人信息、网站可以根据Cookie记录信息、设计出个人风格的网页。
Cookie缺点:
1、如果有不支持cookie的浏览器、或者浏览用户禁止web服务器在客户端写入cooke、那么cookie就会失效。
2、cookie存放在客户端、可能会被浏览用户删除或拒绝写入。
3、cookie可能会造成安全上的威胁、导致个人用户信息窃取。
cookie工作原理
当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这
个cookie发送到客户端并保存在c:\Documents and Settings\用户名\Cookies
目录下。cookie是HTTP标头的一部分,因此setcookie函数必须在任何内容送到浏览器之前调
用。这种限制与header()函数一样。当客户再次访问该网站时,浏览器会
自动把c:\Documents and Settings\用户名\Cookies目录下与该站点对应的cookie发送到服
务器,服务器则把从客户端传来的cookie将自动地转化成一个PHP变量。
通过$_COOKIE['xxx']读取客户端发来的cookie。
写入Cookie
Setcookie(string name[, string value[, int expire[, string path[, string domain[, bool secure ]]]]]);
Setrawcookie(string name[, string value[, int expire[, string path[, string domain[, bool secure ]]]]]);
name:用来设置cookie的名称、不能省略。
value:用来设置cookie的值、可以为"",表示删除cookie.
expire:用来设置cooke的生存时间、例如:time()+60*60*24.以秒为单位。
path:用来设置cookie在客户端的存放路径、xp路径在C:\Documents and Settings\Administrator\Cookies.不同操作系统不一样,
这个文件是隐藏的。
domain:用于设置能够访问cookie的域名。
secure:用于设置是否由安全套接层协议层SSL,HTTPS传送cookie,默认是false.
例如:
one.php
setcookie("username", "blog.51ou.com", time()+60*60*24); //保存时间为一天
setcookie("userage", 22, time()+60*60);//保存时间为一个小时
?>
这样当我们在浏览器打开one.php、然后在C:\Documents and Settings\Administrator\Cookies 会找到相应的cookie信息、这里cookie值
都是经过编码的、如果想看到cookie的值可以使用setrawcookie
例如:
two.php
setcookie("name", "51ou.com", time()+60*60*24); //保存时间为一天
setcookie("age", 22, time()+60*60);//保存时间为一个小时
?>
这样当我们在浏览器打开two.php、然后在C:\Documents and Settings\Administrator\Cookies 会找到相应的明码cookie信息。
此外、cookie必须放在任何输出动作的前面、不然会出错、如果非要这样做可以用这样一对函数:ob_start(); ob_end_flush();
例如:
three.php
ob_start();//如果前面没有这个函数在setcookie有echo就会出错、
echo "blog.51ou.com";
setcookie("username", "ssw");
ob_end_flush();
?>
访问Cookie
当我们设置好cookie后我们可以用全局这量$_COOKIE['']来访问cookie
例如:
four.php
setcookie("sitename", "blog.51ou.com");
echo $_COOKIE['sitename'];
?>
在浏览器打开four.php你就会看到blog.51ou.com.
OK到此Cookie到止结束、
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
本文名称:php之cookie-创新互联
转载来源:http://pwwzsj.com/article/csdhjh.html