一、cookie
1.cookie是什么?
cookie是一种在客户浏览器端存储数据并以此来追踪和识别用户的机制,简单来说,cookie是WEB服务器暂时存储再用户硬盘上上的一个文件,并随后被web浏览器读取。
cookie中不能存大量的数据和敏感未加密的数据,否则会带来安全问题。
2.如何创建、读取、删除cookie
setcookie(name, value, expire, path, domin);
<?php //创建cookie $expire = time() + 60 * 60 * 24 * 30; //有效期为一个月 setcookie('user', 'tom', $expire); //读取cookie echo $_COOKIE['user']; //删除cookie 设置cookie的有效期为过去时间即可 $delExpire = time() - 1; setcookie('user', 'tom', $delExpire); ?>
3.cookie的生命周期
如果不设置失效时间,浏览器关闭cookie就会消失
如果设置了失效时间,超过时间会自动消失。
4.要想再cookie中暂存数组之类的数据就要用到序列化和反序列化
<?php serialize(); //序列化存值 unserialize(); //反序列化取值 ?>
二、session
1.什么是session?
session会话是存储在服务端的,相对安全,可用于存储信息量相对较少且存储时间不长的数据。在实际应用中session用与存储登陆信息,这样就只需要登陆一次,就可以访问其他的页面
当启动session会话时,会生成一个随机且唯一的session_id,也就是session文件名,此时session_id会存在服务器的内存中。当关闭页面时此id会自动注销,重新登陆此页面,会再次生成一个随机且唯一的id
session会存储在cookie里默认的cookie名为PHPSESSION,值为对应的session_id,本地xampp的tmp里会又一个名为sess_加上对应的session_id的文件,里面是我们存储的信息,所以在使用session时客户端不能禁止cookie
2.创建、读取、删除会话,前提是必须先启动会话
<?php //启动会话 session_star(); //创建session $_SESSION['name'] = 'tom'; //设置session时间 $expire = time() * 60; //1分钟失效 setcookie('PHPSESSION', 'session_id', $expire); //读取session echo $_session['name']; //删除某一个session unset($_SESSION['name']); //彻底删除session,重置session,将会失去所有已经存储的session数据 session_destroy(); ?>