什么是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,只存在在这次请求。
取回cookie:
$_COOKIE["cookie的name"],返回值是cookie的value值
对超全局变量$_COOKIE来说,存储大量的键值对!活动周期是cookie存活情况下的这次请求中。
set_cookie("cookie的名字","",time()-3600);
值得注意的是,最好把cookie的过期时间恢复到原来的时间点,当然不加也会删除!
php实现session的设置和提取:
设置session:
1:打开会话:session_start();
2:给session赋值:$_SESSION["session的名字"] = "session的value";
与cookie相比,他直接给容器上加数局就可以了,但是需要先打开会话(session_start())。
![eb97f664287c1587d29375186becb3a5.png](https://i-blog.csdnimg.cn/blog_migrate/a4efdd1c86eeb02b4851e4e7d6eed953.png)
取出session:
echo $_SESSION["session的名字"];
值得注意的是,上面的代码片段包含了一个 isset($_SESSION['session的名字'])函数,当这个session存在的时候 会输出ture,否则false。
销毁session:
session_destroy();
写在后面:
大家可以看看这段代码,发现了一个有趣的现象,我在1 处加入了一个给session更新了一个值,这时发现session的value也变化了!
也就是说这种情况下,我们能篡改文件session的value。
源码和运行截图: