(初探PHP)四:php中的Cookie,Session

PHP中cookie与session详解 文章目录1.cookieCookie 是什么?如何创建 Cookie?语法实例 1实例 2如何取回 Cookie 的值?如何删除 Cookie?2.session开始 PHP Session存储 Session 变量销毁 Session 1.cookie Cookie 是什么? cookie 常用于识别用户。cookie 是一种服务器留在用户计算机上的小文件。每当同一台计算机通过浏览器请求页面时,这台计算机将会发送 cookie。通过 PHP,您能够创建并取回 cookie 的值。 如何创建 Cookie 阅读详情

HTTP无状态

“无状态”是指HTTP协议对于事务的处理没有记忆能力。也就是说协议本身不会在处理事务的过程中针对【之前】的信息进行存储,如果在处理当前步骤的时候需要【之前】的信息,则必需重传。

HTTP 很重要的一个特点就是无状态(每一次见面都是“初次见面”),如果单纯的希望通过我们的服务端程序去记住每一个访问者是不可能的,正是因为这一特性,所以必须借助一些手段或者说技巧让服务端记住客户端, Cookie就可以实现这种操作。

Cookie

Cookie 就像是在超级市场买东西拿到的小票,由超市(Server)发给消费者(Browser),超市方面不用记住每一个消费者的脸,但是他们认识消费者手里的小票(Cookie),可以通过小票知道消费者之前的一些消费信息(在服务端产生的数据)。

Cookie原理分析:

 一个Cookie设置及发送过程可分为四部。

 

  1. 客户端发送一个http请求到服务器端

  2. 服务器端发送一个http响应到客户端,其中包含Set-Cookie头部

  3. 客户端发送一个http请求到服务器端,其中包含Cookie头部

  4. 服务器端发送一个http响应到客户端

语法:setcookie(name[, value, expire, path, domain]);

Cookie常用属性:

    expires有效期

//一小时过期
setcookie("uName","admin",time()+ 3600)
//永久性COOKIE
setcookie("password","123",PHP_INT_MAX);

    path 有效路径

//只有在upload文件夹下才能被访问到
setcookie("uName","admin",time()+ 3600,"/upload")
// 通过path设置访问权限:目录的设置是参照网站根目录的
        // 1.设置目录为父级目录,子目录也能访问
        // 2.设置目录为子级目录,父级目录不能访问
        // /代表整站都能访问
        setcookie("username","jack",PHP_INT_MAX,"/");

删除Cookie

1.设置有效时间为过去时间
      setcookie("uName","admin",time()-1);
2.将cookie中的值设置为false或者空字符串
      setcookie("uName",false);
      //或者
      setcookie("uName","");
3.不设置值
      setcookie("uName");
4.在浏览器中清除缓存

Cookie的缺点:
    1.Cookie数据不太安全;
    2.Cookie存储的数据类型,只能是字符串;

 

    3.Cookie文件是有容量限制(大约4KB)。4*1024b--> 1个文字大概是2~3b

 

Session

    由于 Cookie 是服务端下发给客户端由客户端本地保存的。换而言之客户端可以在本地对其随意操作,包括删除和修改。如果客户端随意伪造一个 Cookie 的话,对于服务端是无法辨别的,就会造成服务端被蒙蔽,构成安全隐患。于是乎就有了另外一种基于 Cookie 基础之上的手段:Session

session简介

Session 区别于 Cookie 一个很大的地方就是:Session 数据存在了服务端,而 Cookie 存在了客户端本地,存在服务端最大的优势就是,不是用户想怎么改就怎么改了。
Session 这种机制会更加适合于存放一些属于用户而又不能让用户修改的数据,因为客户端不再保存具体的数据,只是保存一把“钥匙”,伪造一把可以用的钥匙,可能性是极低的,所以不需要在意。
 

Session的优点:

    1.Session也是一种会话技术;

    2.Session数据存在服务器端,相对于比较安全;

    3.服务器将Session数据保存在服务器上,而将Session的用户id存储在客户端电脑上。

    4.Session存储的数据类型,除了资源外的数据类型都可以;

    5.Session文件没有大小限制;

 

Session原理分析
   客户端第一次请求服务器时,服务器开启一个session,生成一个唯一标识(sessionid:存储的数据与此sessionid关联),并以响应头的Set-Cookie属性响应到客户端

 

   客户端的后续请求会一直通过请求头的Cookie属性携带sessionid(客户端与服务器通过此id维持状态)

Session基本操作

 注意:PHP默认不会开启Session功能,如果要使用需要手动添加代码开启

设置session 
session_start();  //每次操作前都要添加
$_SESSION['user']=arr('username'=>'lisi','age'=>'12');

读取session
session_start();
$user = $_SESSION['user']; 

删除一个session信息
session_start();
unset($_SESSION['user']);

删除所有session信息
session_start();
unset($_SESSION);
$_SESSION = []

销毁session
session_destroy();

session与cookie的关系

 sessionk可以借助cookie来实现,也可不必依赖cookie,可以借助下面一张表来更清楚的认识session与cookie;

PHP中的Cookie和Session的区别和用法 当用户访问网站时,服务器会为其分配一个唯一的会话标识符(Session ID),并将该标识符存储在客户端的Cookie中(或通过URL重写等方式传递)。总结来说,Cookie和Session在PHP中都是用于保存用户状态信息的重要技术,它们各有优缺点,适用于不同的场景。同时,为了保障用户数据的安全性和隐私性,应加强对Cookie和Session的管理和保护措施,防止恶意攻击和数据泄露。在PHP中,Cookie和Session都是用于保存用户状态信息的重要技术,它们在Web开发中扮演着不可或缺的角色。 阅读详情

相关推荐

PHP Session与Cookie详解

本文介绍了PHP会话控制Session与Cookie,主要阐述以下几点内容: • 会话控制的产生背景/概念 • cookie的维护与生命周期 (有效时间) • session的维护与生命周期 (回收机制) • cookie与session之间的区别与联系 • 问题1:禁用cookie后session为什么会失效? • 问题2:IE浏览器下丢失session,每次刷新页面,都会生成新的s

听海Movie的专栏 1300

PHP中session和cookie的用法及区别

一,session 1.session 是啥? 2.怎么保存的? 3.如何运行? 4.有生命周期吗? 5.关闭浏览器会过期吗? 6.Redis代替文件存储session 7.分布式session的同步问题     session是啥?   首先,我大致的知道,session是一次浏览器和服务器的交互的会话,会话是啥呢?就是我问候你好吗?你回恩很好。就是一次会话,那么对话完成...

彳亍的博客 3778

PHP的session基础

关于PHP的session的基本使用 认识session的工作原理 1启动session 2读写session的变量 3删除session变量 4session在用户登录中的应用

PHP的SESSION和COOKIE的区别和联系

区别:   COOKIE存储在客户端,SESSION存储在服务器端。   COOKIE因为存储在客户端,所以安全性较低,SESSION安全性较高。   COOKIE有大小限制,为4K,仅能存储20个COOKIE,SESSION没有限制。   COOKIE仅支持存储字符串,SESSION可以存储所有类型。   联系:   同样是会话技术。   SESSION依赖于COOKIE,因为HT

游学一生 913

INMP441麦克风与ESP32的I2S音频采集实战指南

本文提供了INMP441数字麦克风与ESP32开发板通过I2S接口进行高质量音频采集的完整实战指南。详细讲解了硬件连接、软件配置、数据读取及基础处理,并分享了常见的避坑技巧与性能优化建议,帮助开发者快速构建物联网音频应用。

weixin_28396629的博客 598

MediaPipe实战:从零构建人脸关键点检测应用

本文详细介绍了如何使用Google的MediaPipe框架从零构建一个实时人脸关键点检测应用。文章深入剖析了MediaPipe的三段式检测流水线,提供了Android平台的完整实战教程,包括环境配置、模型加载、摄像头集成、关键点绘制以及性能调优指南,帮助开发者快速实现高效、跨平台的人脸AR特效与交互功能。

weixin_29100927的博客 339

「PHP系列」PHP Cookie/Session详解

在PHP中,Session是一种用于跟踪用户会话状态的机制。与Cookie不同,Session数据存储在服务器上,而不是在客户端的浏览器中。每个客户端(用户)在访问服务器时都会被分配一个唯一的会话ID,该ID通常通过Cookie发送到客户端,并在后续的请求中返回给服务器,以便服务器能够识别并恢复该用户的会话数据。在PHP中,Cookie是一种用于在浏览器和服务器之间传递信息的机制。它通常用于跟踪用户的会话状态、存储用户的偏好设置或实现其他需要跨请求保持状态的功能。

日常笔记/总结/系列知识梳理 2483

【论文泛读|附源码】如何进行动力学重构? 神经网络自动编码器结合SINDy发现数据背后蕴含的方程

这一篇文章叫做 **数据驱动**的**坐标发现与方程发现算法**。想回答的问题很简单,就是根据数据写方程。 想想牛顿的处境,如何根据各种不同物体下落的数据,写出万有引力的数学公式的。这篇文章就是来做这件事的。当然,这篇论文并没有从牛顿视角,完全去思考牛顿所想。而是利用现有的**深度学习技术** 和 **动力学重构的方法** 。提出了一种框架,基于现有的计算机技术,去发现物质运动背后的物理规律。 这里直接给出这篇方法的核心思路图,我们后面会逐个讲解。

qq5q13638的博客 2454

【PHP】cookie和session

学习PHP基础过程中的笔记

weixin_54799594的博客 1233

Qt Tab Widget 实战:如何打造一个可动态增删的标签页管理器(附完整代码)

本文深入探讨了使用Qt框架中的Tab Widget控件构建动态标签页管理器的实战方法。通过分析动态增删的核心挑战,提供了完整的C++代码示例,涵盖信号槽机制、页面生命周期管理、上下文菜单实现以及状态持久化等关键功能,帮助开发者打造高效、用户友好的桌面应用界面。

bb456的博客 1042

57、振荡扫描仪的挠性枢轴:原理、设计与材料选择

本文深入探讨了振荡扫描仪中挠性枢轴的工作原理、设计方法与材料选择。挠性枢轴因其无润滑、高精度、低周期性误差和潜在无限寿命等优势,广泛应用于光学、太空、医学和半导体等领域。文章分析了其在小角度下的优异性能与无法连续旋转等局限性,提供了关键设计公式,并对比了多种挠性材料的性能指标。同时,结合不同应用场景提出设计优化策略,并展望了微型化、智能化和高性能材料等未来发展趋势,为工程实践提供了系统的设计流程与选型建议。

numpy6sculptor的博客 95

深入浅出:PHP会话管理(Session 和 Cookie)

会话管理是指在Web应用程序中维护用户状态的技术。由于HTTP协议是无状态的,每次请求都是独立的,服务器无法自动识别同一用户的连续请求。为了克服这个问题,我们可以使用Cookie和Session来存储和传递用户信息,从而实现跨页面的状态保持。本文详细介绍了PHP中的会话管理机制,包括Cookie和Session的基本概念、设置和读取方法、安全性考虑以及综合案例。通过对每个知识点的解释和示例演示,希望你能更加熟练地运用这些工具,写出更加安全和高效的Web应用程序。

软件架构师笔记 1384

【nvidia-B200】实际生产报错NVRM: nvAssertFailedNoLog: Assertion failed: pIOVAS != NULL @ io_vaspace.c:601

升级 NVIDIA 驱动到 R545/R550 数据中心版本(解决 IOVA bug,这是性能差的根本原因);重启服务器(清理驱动残留资源,消除日志中的 NVRM 错误);验证 NVLink/PCIe 链路(确保 8 卡互联使用高速链路,而非单卡 PCIe 共享带宽)。完成这 3 步后,ncccl-test的all_reduce带宽应能提升至100GB/s 以上(取决于服务器的 NVLink/NVSwitch 配置),恢复正常性能。

jundao1997的专栏 648

PHP COOKIE & SESSION

cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别。 cookie存放在客户端浏览器中,session保存在服务器上。它们之间的联系是session ID一般保存在cookie中。 cookie工作原理 当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:Doc

haoke 2万+

Python爬虫实战:全面解析裁判文书网法律文书抓取与分析

本文详细介绍了如何使用Python爬虫技术,分别通过Requests+BeautifulSoup、Selenium和Scrapy等方式,爬取裁判文书网的法律文书信息,并进行了验证码处理、数据存储和可视化分析。网页结构分析与数据提取;爬虫框架的使用;验证码处理策略;数据分析与可视化。爬取更多法律文书网站的数据;爬取文书的全文内容;构建法律文书搜索引擎;使用自然语言处理技术对法律文书进行深入分析。

2201_76125261的博客 1330

微信公众号 - 最新详细实现H5网页接入微信支付功能,开发移动端、PC端网站集成使用微信支付流程及示例代码,公众号网页利用JS-SDK/JSAPI/H5支付授权唤起微信支付,可脱离微信环境支付或内置浏

微信公众号,微信支付,网页,移动端,h5,扫码支付,二维码付款,手机网页,电脑pc网页生成支付二维码,js-sdk,jsapi,外部浏览器调起微信支付,脱离微信环境,在微信内置浏览器如何进行微信支付,前端H5微信支付,web网站,vue2,vue3,nuxt2,nuxt3,jquery,微信公众号h5支付流程,如何实现,怎么做,回调报错,redirect_uri参数错误,必须部署才能调试吗,怎么不打包发布就能在本机测试,微信H5支付能力,uniapp微信支付,h5页面调起支付,支付没反应,无效,失败,H5页

🏆 前端领域优质创作者 6102

php中的session,cookie跟token的使用

首先,Token被分割成不同的部分,然后使用相同的密钥和哈希函数重新生成签名。如果重新生成的签名与Token中的签名匹配,并且Token没有过期,那么Token就被认为是有效的。token的生成通常涉及到用户的唯一标识符,例如用户ID,以及一些其他的信息,如时间戳和过期时间。变量可以存储用户的信息,如用户名、购物车内容等,这些信息在整个应用程序中的所有页面都是可用的。

2302_80683181的博客 805

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

[网络安全学习篇46]:PHP COOKIE 和 SESSION

引言:我的系列博客[网络安全学习篇]上线了,小编也是初次创作博客,经验不足;对千峰网络信息安全开源的视频公开课程的学习整理的笔记整理的也比较粗糙,其实看到目录有300多集的时候,讲道理,有点怂了,所以我就想到了通过写博客(课程笔记)的形式去学习它,虽然写博客会让我多花几倍的时间去学习它,但是当我完成一篇博客所获得的成就感和你们对于我的认同感,让我很满足,能够鼓励我一天天的坚持下去,也希望和我一起学...

安全知识学习-该平台为唯一原作者平台,其他平台属冒名顶替,请勿相信上当受骗 1773

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

【PHP】走进 PHP 第七课 Cookie & Session

【PHP】✔️走进 PHP✔️ 第七课 Cookie & Session.

我是小白呀的博客 1515

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

PHP 之session cookie

cookie和session有什么用? 常见的用法,比如在有些网站下载东西需要会员先登陆。http协议本身是无状态的,无法得知顾客是否已经登陆,怎么办呢?cookie和session就可以知道。再比如网上购物,用户身份认证,程序状态记录。购物车怎么知道顾客挑选过哪些商品呢?cookie和session也可以记录。总而言之,cookie和session就是能够记录顾客状态的技术,尽管二者属于不同的技术,但只要cookie能做到的,session也能做到!如果session和cookie一样安全的话,二...

hudeyong926的专栏 1588

php中cookie和session,PHP中的cookie和session

在PHP中,有两个很重要的函数,就是我们的cookie和session,那么它们是怎么使用,又有什么区别呢?本篇文章就带你了解一下cookie和sessioncookie简介Cookie是存储在客户端浏览器中的数据,我们通过Cookie来跟踪与存储用户数据。一般情况下,Cookie通过HTTP headers从服务端返回到客户端。多数web程序都支持Cookie的操作,因为Cookie是存在于HT...

weixin_39619270的博客 450

php session.cookie_path,深入理解PHP中的Session和Cookie

在一个页面设置一个cookie时,必须刷新或到下一个页面才可以用 $_COOKIE 得到变量的值.原因是因为当页面第一次被浏览器访问载入时,页面中的 cookie 会被设置,将其发送存储到客户端指定的存储位置,所以$_COOKIE没有接收到客户端发送过来的 cookie 变量的值,当刷新或到下一个页面时,客户端会在页面程序在服务器端运行之前,发送与该地址相对应的 cookie到服务器端,所以 $_...

weixin_29964487的博客 699

PHP cookie session 及 ThinkPHP session 详解

摘要:本文不再介绍cookie session的基本原理,主要介绍它们的代码操作规范 和 运行流程/机制。

mika85489的专栏 1237

PHP 中cookie 和session的联系以及session配置

session将生成的文件存在服务器端,浏览器第一次请求设置session的资源文件时则生成唯一值的键值对cookie信息:phpsessionid的cookie信息(存客户端;如 Set-Cookie:PHPSESSID=erv417ai3mh5p85kp9cvasdc46;),在审查-网络-Response Headers-Set-Cookie 查看信息,在生成文件后,再次请求则可根据PHPS...

zhousulian的博客 2407

php session与cookie的一些认识

php 中关于 session 与cookie的理解 以及一些跨域问题关于session与cookie 我在之前的工作中就一直接触并使用,但是一般是一些简单的认识 如果有人问我它们之间的区别,我就说 session存在服务端,cookie 存在客户端 浏览器每次打开一个窗口就会产生新的会话 php中有设置setcookie() 函数 可以设置cookie。 最近由于公司做一个项目 涉及前后端分离,

lm1622的博客 633

PHP cookie与session

一、cookie Cookie是用来将网站的资料记录在客户端的技术,这种技术让Wleb服务器能将一些资料,存放于客户端(用户的电脑)之中。 比如:当通过验证,成功登录网站后,在”网页一“的PHP脚本中,会把这个用户 有关的信息,设置到客户端电脑的Cookie中,当再次访问同一个网站中的其他脚本时,就会自动携带Cookie中的数据一起访问,在服务器中的每个脚本中都可以接受Cookie中的数据,不需要每访问一个页面就重新输入一次登录者的信息。 向客户端电脑中设置Cockie PHP中setcookie()

Atkx's Blog 391
上一篇: (初探PHP)三:php中的请求方式GET,POST...
下一篇: 让你脱口而出的 AJAX(一)
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值