会话技术cookie and sessio

cookie

Cookie指的是一种在浏览器端存储数据并以此来跟踪和识别用户的机制

1,cookie的特性

  1. 存储在客户端
  2. cookie是一个文件
  3. 浏览器限制cookie的大小(4k)和数量
  4. cookie在http中是明文传输,安全性不高
  5. cookie被附加在http消息中无形中增加了数据流量

2、cookie的创建

bool setcookie ( 
   string $name ,		// Cookie的名(必选)
   string $value = "" ,	// Cookie的值(可选)
   int $expire = 0 ,		// Cookie的有效期(可选)
   string $path = "" ,	// Cookie在服务器端的路径(可选)
   string $domain = "" ,	// Cookie的有效域名(可选)
   bool $secure = false ,	// 指定是否通过安全的HTTPS连接来传输(可选)
   bool $httponly = false	// 指定Cookie只能通过HTTP协议访问(可选)
)

3、Cookie在浏览器和服务器之间的传输过程

在这里插入图片描述

4、删除Cookie的两种方式:

Cookie创建时未设置有效时间,则Cookie文件会在关闭浏览器时自动被删除
利用setcookie()函数设置过期时间

setcookie('data', '', time() - 1);   // 立即过期(相当于删除COOKIE)

5、Cookie路径与域名

Cookie在用户的计算机中是以文件形式保存的,浏览器通常会提供Cookie管理程序
以Chrome浏览器为例,执行

【设置】-【高级设置】-【隐私设置】-【内容设置】-【所有Cookie和网站数据】

可以找到Cookie的管理程序。
在这里插入图片描述

session

Session指的是将信息存放在服务器端的会话技术

1、创建session

在创建Session文件时,每一个Session都具有一个唯一的会话ID,用于标识不同的用户,且会话ID会分别保存在客户端和服务器端两个位置。
客户端通过Cookie保存,服务器端则以文件的形式保存到php.ini指定的Session目录中,对于Windows系统,默认情况下保存到“C:\Windows\Temp”目录中。

2、session的使用

(1)启动Session
在使用Session之前,需要先通过session_start()函数启动Session。该函数的返回值是布尔类型,如果Session启动成功,返回true,否则返回false。
(2)查看SessionID与Session文件
浏览器访问开启Session的文件,可在开发者工具中查看Cookie中保存的会话ID。
Cookie名称“PHPSESSID”是php.ini中配置项session.name的默认值。
在这里插入图片描述
在服务器中,打开Session文件默认的保存目录“C:\Windows\Temp”。
服务器保存了文件名为“sess_会话ID”的Session文件,该文件的会话ID与浏览器Cookie中显示的会话ID一致,表示这个文件只允许拥有会话ID的用户访问。
在这里插入图片描述
(3)Session的使用
在完成Session的启动后,接下来Session的使用与Cookie的用法类似,可以通过超全局变量$_SESSION添加、读取或修改Session中的数据。
(4)Session的配置

session.name	——指定Cookie的名字,只能由字母数字组成,默认为PHPSESSID
session.save_path——读取或设置当前会话文件的保存路径,默认为“C:\Windows\Temp”
session.auto_start	——指定是否在请求开始时自动启动一个会话,默认为0(不启动)
session.cookie_lifetime	——以秒数指定发送到浏览器的Cookie生命周期,默认为0(直到关闭浏览器)
session.cookie_path	——指定要设定会话Cookie的路径,默认为“/”
session.cookie_domain	——指定要设定会话Cookie的域名,默认为无
session.cookie_secure——	指定是否仅通过安全连接发送Cookie,默认为off
session.cookie_httponly	——指定是否仅通过HTTP访问Cookie,默认为off

在这里插入图片描述

3、session机制

interface SessionHandlerInterface
{
    public function close();
    public function destroy(string $session_id);
    public function gc(int $maxlifetime);
    public function open(string $save_path, string $session_name);
    public function read(string $session_id);
    public function write(string $session_id, string $session_data);
}

4、session的处理方式

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值