cookie与session

1.cookie

(1)setcookie()函数的变量解释

参数说明举例
namecookie类型变量的名字
valuecookie变量的值
expirecookie到期的时间setcookie(“time”,“hello”,time()+10)表示到期时间=当前时间+10秒,setcookie()会自动生成一个cookie文件,失效后删除cookie文件,; 不设置到期时间,一直有效,直到关闭浏览器,关闭浏览器器后就删除cookie文件;只要cookie没失效即是关闭浏览器或重启计算机,cookie值依然不变

pathcookie的作用域为"/" 在整个domain内有效; "/child"表示在domain的/child及其子目录下有效;默认是当前目录
domaincookie有效域名若设置成"fuck.com"则所有子域均有效
secure是否仅通过安全的HTTPS若为0 cookie在HTTP 和HTTPS连接上有效
若为1 cookie仅在HTTPS连接上有效
HTTPOnly是否禁止页面的JavaScript访问被HTTPonly标记的cookietrue 不允许访问带有HttpOnly的cookie;反之,可以

(2)session cookie 与Third party cookie

区别:
session cookie(仅仅是个名称,注意区分session与session cookie)是没设置expire的cookie,存储在内存中;
third-party cookie是设置expire的cookie,存储在硬盘中;
浏览器最多存储300个cookie文本,每个域最多20个cookie文件,每个cookie文件最大为4KB

2.session

session存储在服务端上,因此在安全方面上比cookie要好一点;
session是将session的信息存储在服务器上,并通过sessionID来传递用户信息
,服务器接收到sessionID后,并根据这个sessionID来提供相关的session信息;
下面接收
image.png

在这里插入图片描述

启动session

使用session_start()函数,PHP从session仓库(以sessionId命名的文件)中加载已经存储的session变量 ;
注意一点:一些配置session的配置函数要在session_start()之前
例如:session_set_cookie_params() //设置session失效时间 秒为单位
不过不推荐使用session_set_cookie_params(),因为有些浏览器会出现问题
session_pave_path() //设置session文件保存目录
等;必须放在session_start()之前

启动之后在添加session信息
(用法示范)
image.png

设置失效时间

有两种(1)直接使用函数session_set_cookie_params()
(2)跟设置cookie一样
setcookie(session_name(),session_id(),time()+60,"/");
这样cookie失效那么sessionID也失效image.png

(只要没过期这个sessionID就不变)

销毁session

(1)unset( S E S S I O N [ ′ t i m e ′ ] ) ∗ ∗ 注 意 : 千 万 不 要 这 样 u n s e t ( _SESSION['time']) **注意:千万不要这样unset( SESSION[time]):unset(_SESSION)来销毁,这样会禁止整个会话**
(2)$_SESSION=array() 用空数组赋值
(3)session_destroy()结束当前会话

session工作原理

首先,服务器分配给客户一个sessionID并在服务端上创建以sessionId命名的文件
接着,session变量存储到这个文件上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值