iis服务器助手广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP(14)会话技术
  • 659
分享到

PHP(14)会话技术

php服务器开发语言 2023-09-17 09:09:47 659人浏览 薄情痞子
摘要

PHP(14)会话技术 一、概念二、分类三、cookie技术1. cookie的基本使用2. cookie的生命周期3. cookie的作用范围4. cookie的跨子域5. cookie的数

PHP(14)会话技术

一、概念

Http协议是一种无状态、无连接的协议,无法判断多个请求是否来自同一个用户。会话技术就是让HTTP协议识别来自同一个用户的多个请求。

二、分类

  1. cookie:是在HTTP协议下,服务器或脚本可以维护客户工作站上信息的一种方式。本质是由WEB服务器保存在客户端上的小文本文件,可以包含有关用户的信息。
  2. session:session技术是将数据保存在服务器端,session技术的实现依赖于cookie技术。
  3. 区别
区别cookiesession
安全存储在浏览器端,安全性低存储在服务器,安全性高
数据大小数量和大小都有限制(4KB)数据存储不限
可用数据类型只能存储简单数据,数值、字符串可以存储复杂数据

三、cookie技术

setcookie(名字, 值, 生命周期, 作用范围, 域名);

1. cookie的基本使用

  • 设置cookie信息:setcookie(名字, 值)
    • 名字必须是字符串。
    • 值必须是简单类中的整数或字符串。
    setcookie('age', 1);
  • 读取cookie信息:$_COOKIE
    var_dump($_COOKIE);

在这里插入图片描述

2. cookie的生命周期

  • 默认关闭浏览器则生命周期结束。
  • 通过setcookie可以限定生命周期(必须加 time()):setcookie("a1", 'a1', time() + 7 * 24 * 60 * 60);
  • 手动结束生命周期:setcookie('age', '');setcookie("a1", 'a1', time());

3. cookie的作用范围

  • 默认范围:上层文件夹中设定的cookie可以在下层中访问,而下层的cookie不能在上层访问。
  • 把cookie的作用范围设置为网站根目录:setcookie('a1', 'a1', 0, '/');

4. cookie的跨子域

  • 默认不允许跨域访问cookie。
  • 设置cookie跨子域:setcookie('a1', 'a1', 0, '/', 'mysite.com');

5. cookie的数组数据

  • cookie只能设置成简单数据类型。
  • 把cookie伪装成数组:
setcookie('Goods_id[0]', 1);setcookie('goods_id[1]', 2);setcookie('goods_id[2]', 3);setcookie('goods_id[3]', 4);
  • 获取cookie数组:$_COOKIE['goods_id'][2]

四、session

1. session原理

  • session与浏览器无关,但与cookie有关。
    1. php碰到session_start()时开启session会话,会自动检测sessionID
      • 如果cookie中存在,则使用现成的。
      • 如果cookie中不存在,会创建一个sessionID,并通过响应头以cookie形式保存到浏览器中。
    2. 初始化超全局变量$_SESSION为一个空数组
    3. PHP通过sessionID去指定存放session文件的位置匹配对应的文件
      • 不存在该文件,则创建一个sessionID命名文件
      • 存在该文件,读取文件内容,将数据存储到$_SESSION中
    4. 脚本执行结束,将$_SESSION中保存的所有数据序列化存储到sessionID对应的文件中。

2. session基本使用

  • $_SESSION是通过session_start()函数的调用才会定义的,不会直接定义。
  • 设置session和读取session
// 开启sessionsession_start();// 设置session$_SESSION['name'] = 'Mark';$_SESSION['hobby']=array('sing', 'dump');// 读取sessionvar_dump($_SESSION);

在这里插入图片描述

  • 删除一个session unset($_SESSION['name']);
  • 删除所有session $_SESSION = array();

3. session配置

  • 配置方式
    1. 在php.ini中配置,全局生效
    2. 脚本中配置,PHP可以通过ini_set()函数来设置项目配置
  • 基础配置
    1. session.name:session名字,保存到cookie中sessionID对应的名字
    2. session.auto_start:自动开启session,默认关闭
    3. session.save_handler:session数据的保存方式,默认是文件形式
    4. session.save_path:session文件默认存储位置
  • 常用配置
    1. session.cookie_lifetime:PHPsessionID在浏览器端对应cookie的生命周期,默认是会话结束
    2. session.cookie_path:sessionID在浏览器存储之后允许服务器访问的路径(cookie作用范围)
    3. session.cookie_domain:cookie允许访问的子域
  • 垃圾回收配置
    1. session.GC_maxlifetime:规定session文件的最大生命周期,默认24分钟。
    2. session.gc_probability:垃圾回收概率因子,默认为1
    3. session.gc_divisor:垃圾回收概率分母,默认为1000
      • 触发几率默认是 1/1000

4. 销毁session

  • $_SESSION = array(); 只会删除数据。销毁session会删除session对应的文件。
  • 通过session_destroy()函数来销毁session。

来源地址:https://blog.csdn.net/realoser/article/details/129061227

--结束END--

本文标题: PHP(14)会话技术

本文链接: https://www.lsjlt.com/news/410916.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP(14)会话技术
    PHP(14)会话技术 一、概念二、分类三、cookie技术1. cookie的基本使用2. cookie的生命周期3. cookie的作用范围4. cookie的跨子域5. cookie的数...
    99+
    2023-09-17
    php 服务器 开发语言
  • 会话跟踪技术Cookieless
    会话跟踪技术Cookieless...
    99+
    2023-06-04
  • django会话跟踪技术
    目录 django中的会话跟踪技术 什么是会话跟踪技术 HTTP无状态协议 Cookie概述 什么是cookie ...
    99+
    2023-01-30
    技术 django
  • JavaWeb会话技术怎么用
    小编给大家分享一下JavaWeb会话技术怎么用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!1.什么是会话:2.会话技术有哪些:什么是Cookie?Cookie,...
    99+
    2023-06-25
  • Javacookie和session会话技术介绍
    目录一、cookie1、cookie的概念2、cookie的创建3、获取cookie4、修改cookie5、设置cookie的有效时间6、设置cookie的有效路径二、session...
    99+
    2023-05-14
    Java cookie会话技术 Java session会话技术 Java cookie session
  • JavaWeb会话技术详解与案例
    1.什么是会话: 2.会话技术有哪些: 什么是Cookie? Cookie,有时也用其复数形式 Cookies。类型为“小型文本文件”,是某些网站为了辨别用户身份,进行Sessi...
    99+
    2024-04-02
  • JavaWeb之会话技术案例详解
    会话技术     1. 会话:一次会话中包含多次请求和响应。          &...
    99+
    2024-04-02
  • JavaWeb之会话技术的示例分析
    这篇文章给大家分享的是有关JavaWeb之会话技术的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。会话技术    1. 会话:一次会话中包含多次请求和响应...
    99+
    2023-06-20
  • WEB核心【会话技术】第十五章
    目录 💂 个人主页: 爱吃豆的土豆🤟 版权: 本文由【爱吃豆的土豆】原创、在CSDN首发、需要转载请联系博主💬 如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连)和订阅专栏哦 ...
    99+
    2023-09-20
    java 服务器 前端
  • 客户端会话跟踪技术 Cookie 浅谈
    文章目录 前言为什么之前浏览器和服务器不支持数据共享?会话跟踪技术Cookie的概念Cookie的工作流程Cookie的基本使用Cookie原理分析Cookie的存活时间Cookie存储中文 ...
    99+
    2023-08-31
    服务器 http 前端
  • Java Web会话技术Session的简单使用
    目录什么是SessionSession如何工作结合代码理解Session什么是Session Session技术是将信息保存在服务端,而客户端需要接收、记录和回送Session的ID...
    99+
    2024-04-02
  • Java cookie和session会话技术怎么使用
    这篇文章主要介绍“Java cookie和session会话技术怎么使用”,在日常操作中,相信很多人在Java cookie和session会话技术怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希...
    99+
    2023-07-05
  • PHP写会话数据和结束会话
    ...
    99+
    2024-04-02
  • web前端学习教程:Cookie会话跟踪技术
      1. Cookie会话跟踪技术介绍  会话跟踪是Web程序中常用的技术,用来跟踪用户的整个会话。常用的会话跟踪技术是Cookie与Session。Cookie通过在客户端记录信息确定用户身份,可以在客户端保存临时数据.  Cookie ...
    99+
    2023-06-05
  • Javaweb会话跟踪技术Cookie和Session的具体使用
    目录前言一.会话引入二.Cookie1.Cookie的理解2.Cookie生命周期3.Cookie有效路径4.Cookie使用细节三.Session1.Session基本原理2.Se...
    99+
    2024-04-02
  • PHP 会话编码解码
    在 PHP 中,会话是一种跨网页处理数据的方式。会话编码和解码操作是存储或读取会话数据时的要求。 在 PHP 中演示使用 session_encode() 和 session_decode 内...
    99+
    2024-02-27
  • PHP会话关机功能
    这篇文章将为大家详细讲解有关PHP会话关机功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 会话关机功能 引言 会话关机功能对于保障 PHP Web 应用程序的安全性至关重要,它使应用程序能够安全...
    99+
    2024-04-02
  • Metasploit Shell升级Meterpreter会话技巧
    Metasploit Shell升级Meterpreter会话技巧在Metasploit中,用户通过利用漏洞获取远程Shell和Meterpreter会话。如果用户已经获取到Shell会话,但是又希望获取一个Meterpreter...
    99+
    2023-06-05
  • PHP将会话数据从一个会话编码的字符串
    这篇文章将为大家详细讲解有关PHP将会话数据从一个会话编码的字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 会话编码的字符串 会话编码的字符串是一种将会话数据存储在字符串中的方法,该字符串然后可以...
    99+
    2024-04-02
  • PHP中的音视频会议技术指南
    随着互联网技术的不断发展,音视频会议技术已经成为人们进行远程会议交流的重要手段之一。作为一种广泛应用的会议技术,PHP作为一种广泛使用的Web开发语言,也具有丰富的音视频会议技术应用。本文将为大家介绍PHP中的音视频会议技术指南。一、音视频...
    99+
    2023-05-20
    PHP 音视频 会议技术
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作