session的生命周期_09_php_cookie和session

什么是cookie:
cookie由服务器下发给计算机客户端,当用户通过相同的计算机发送请求时,会同时带着cookie发送。
当然我们通过php程序可以下发,设置,回收cookie,cookie不是php特有,几乎所有的编程语言(web) 都有这个机制。

什么是session:
session的生命周期是一个会话,那么什么是会话呢?一般用户通过浏览器作为客户端,与cookie对应,
cookie的生命周期代表一次请求,而session代表的是从你打开客户端(浏览器)的那一刻,到关闭客户端后
表示一次session生命周期的过程。ps:上述的讨论都是在不设置cookie和session过期限制的情况下

php实现cookie的设置,提取!
设置cookie:
set_cookie("cookie的name","cookie的value",time()+时间数,单位是s),这个函数用于设置下发cookie
下图表示创建一个cookie,这个cookie的生命周期是1小时,名字是user,值是Alex Porter,只存在在这次请求。a577d9298e3463f1ad4155edb9f364ba.png

取回cookie:
$_COOKIE["cookie的name"],返回值是cookie的value值
对超全局变量$_COOKIE来说,存储大量的键值对!活动周期是cookie存活情况下的这次请求中。041b095b5d41cb904799155264554e50.png


set_cookie("cookie的名字","",time()-3600);
值得注意的是,最好把cookie的过期时间恢复到原来的时间点,当然不加也会删除!
php实现session的设置和提取:
设置session:
1:打开会话:session_start();
2:给session赋值:$_SESSION["session的名字"] = "session的value";
与cookie相比,他直接给容器上加数局就可以了,但是需要先打开会话(session_start())。 eb97f664287c1587d29375186becb3a5.png

取出session:
echo $_SESSION["session的名字"];49121911a7efc859faf3aa2b03ec2b5d.png
值得注意的是,上面的代码片段包含了一个 isset($_SESSION['session的名字'])函数,当这个session存在的时候 会输出ture,否则false。

销毁session:
session_destroy();b20d5543084b1261811efb5072d32f26.png

写在后面:
大家可以看看这段代码,发现了一个有趣的现象,我在1 处加入了一个给session更新了一个值,这时发现session的value也变化了!
也就是说这种情况下,我们能篡改文件session的value。ff046f6191e08c617509292a486f9bfa.png

源码和运行截图:bbed43db598233bc2e84e880afa47b8b.png87107136d40e5a6a55d04e4b1ea87182.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值