php之cookie
admin
2023-06-16 16:21:50
0

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到止结束、


相关内容

热门资讯

毫厘间的山河:0.001%背后... 元素周期表的版图上,锌,是一块古老而平凡的疆域。但当它的纯度跃升至99.998%时,这块金属便被赋予...
朝鲜进行新型武器系统试射 当地时间5月26日,朝鲜导弹总局和国防科学院进行轻型多用途导弹发射系统和多管战术巡航导弹武器系统试验...
原创 华... 华为各大产品全面发展,而且是多系列多版本,其中手机/笔记本均拥有4个系列,平板/手表均拥有6个系列,...
俄法院裁定:立即赔偿俄约200... △俄罗斯中央银行(资料图)当地时间5月26日,俄罗斯莫斯科仲裁法院批准俄央行的申请,将对欧洲清算银行...
特朗普:内阁会议将由戴维营改至... 当地时间5月26日,美国总统特朗普在社交平台发文称,由于预计次日天气状况不佳,原定在戴维营举行的内阁...
江苏省内首次!变电站装上了“智... 扬子晚报网5月26日讯(记者 刘丽媛)5月25日,江苏南京220千伏光华变电站完成一项特殊改造——在...
NbS暑期学校广州开班!国内外... 南都讯 记者莫郅骅 5月26日,2026基于自然的解决方案(NbS)暑期学校在广州开班。该活动由自然...
一场训练营,孵化112个创新项... AI赋能民生、科创点亮青春! 从课堂灵感孵化的音乐记忆AI工具 到深耕水产行业的智能经营助手 一批贴...
潮评丨原创精神无法“一键生成” 潮新闻客户端 评论员 高路 图源:央视新闻。 继“查重”以后,检测AIGC(人工智能生成内容)率也...
马斯克曝光Grok 5!1.5... 新智元报道 【新智元导读】马斯克深夜官宣:1.5万亿参数Grok V9训练完成,现役三倍!更狠的是...