PHP中session 与cookie的原理和关系1

【PHP基础-9】Session机制详解及Session身份认证应用案例 目录1 Session 机制概述1.1 什么是Session1.2 Session作用1.3 session的运行机制:2 Session应用案例2.1 实验要求2.2 实验环境2.3 案例代码2.4 实验测试3 Session攻防3.1 会话劫持3.1.1 含义3.1.2 攻击步骤3.1.3 防御方法3.2 会话固定3.2.1 含义3.2.2 攻击步骤3.2.3 防御方法4 归纳参考文章 1 Session 机制概述 1.1 什么是Session 除了使用Cookie 阅读详情

有过购物经验的朋友都知道,在购买商品时网站会记录你挑选的商品到购物车,这些就是用session 和cookie技术实现,当然不同的web平台技术实现细节略有不同,但几乎都会用到session 和cookie。

为什么要用到session和cookie呢,这就有必要说一下http协议了,HTTP协议是无状态的,通俗一点说就是这一秒不知道上一秒发生了什么事情,

如果需要跟踪某个用户在站点的状态,显然这是行不通的,下面说说COOKIE技术

Cookie:可以用来在多个页面共享一些信息,cookie是被HTTP协议支持的,浏览器在向服务器请求一个页面时,服务器返回HTTP报文+数据,浏览器会解析从服务器接收的HTTP报文,从而做相应的操作。

服务器报文:

HTTP/1.1 200 OK
Date: Thu, 06 Dec 2012 17:05:01 GMT
Server: Apache/2.2.17 (Win32) PHP/5.3.5
X-Powered-By: PHP/5.3.5
Set-Cookie: mycookie=Hello%2CCookie; expires=Thu, 06-Dec-2012 18:05:01 GMT; path=/
Content-Length: 44
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

这是我们只关注Set-Cookie: mycookie=Hello%2CCookie; expires=Thu, 06-Dec-2012 18:05:01 GMT; path=/
这是告诉浏览器要保存的cookie信息,通俗一点说就是:“浏览器请把这段cookie信息保存下来”

格式为 键-值对的形式如一个cookie键为:publicinfo  值为:hello,cookie  形式为:publicinfo=hello,cookie

浏览器请求报文:

GET /cookie/cookie1.php HTTP/1.1
Accept: */*
Accept-Language: zh-CN
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; Tablet PC 2.0; InfoPath.2)
Accept-Encoding: gzip, deflate
Host: localhost
Connection: Keep-Alive
Cookie: C4vN_2132_saltkey=MW4qwm12; C4vN_2132_lastvisit=1354808405; C4vN_2132_sid=Dl9pU9; C4vN_2132_lastact=1354812024%09search.php%09forum; C4vN_2132_forum_lastvisit=D_36_1354812013; C4vN_2132_visitedfid=36; PHPSESSID=ggcr13idghctd9mi4gqllvcvs5; zhangqiang1=Hello%2CCookie

 这里浏览器将客户端的cookie信息发送到服务器,这样在请求-响应之间就能够保持一些状态信息了。

在PHP中cookie的使用

在PHP中使用cookie有两种方法,

1.使用系统函数setcookie设置

2.使用header函数构架cookie报文

有了前面的知识就知道这两个函数其实所做的事情结果都一样,最终要将cookie信息写到HTTP报文中去

方法1:

setcookie(cookie键的名称,值,过期时间,访问目录)

<?php
	setcookie("mycookie","Hello,Cookie",time()+3600,"/");
	echo "<a href='/cookie/cookie2.php'>查看Cookie</a>";
?>

方法2:(这里直接将要设置的cookie写到HTTP报文中去了)

header("Set-Cookie: mycookie=123; expires=Tue, 04-Dec-2012 15:58:18 GMT");
echo "<a href='/cookie/cookie2.php'>查看Cookie</a>";

在服务器端访问cookie:

<?php
	echo $_COOKIE["mycookie"];
?>

访问cookie很简单用超全局数组$_COOKIE就用可以了,[]中填写cookie的键。

使用cookie的原理就知道一些购物网站或者登录功能如何实现了,但cookie也是有不足的地方

    安全性:cookie是存放在客户端的,也就是可以篡改的,不能够将一些重要的数据存放在cookie里,如用户名和密码等

网络传输:cookie必须包含在HTTP请求和响应报文中,所以不能存放太多的数据。

 

Session续............................

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

相关推荐

session原理

session原理 session原理 session原理 session原理 session原理

PHP SESSION机制原理详解

本文介绍了session的工作原理,以及php session扩展对session的管理方式,和利用session类自定义对session的管理策略,比如利用memecache,redis作为session内容的存储器

weixin_38597669的博客 1046

解析php中session的实现原理以及大网站应用应注意的问题

PHP SESSION原理我们知道,session是在服务器端保持用户会话数据的一种方法,对应的cookie是 在客户端保持用户数据。HTTP协议是一种无状态协议,服务器响应完之后就失去了与浏览器的联系,最早,Netscape将cookie引入浏览器,使得 数据可以客户端跨页面交换,那么服务器是如何记住众多用户的会话数据呢?首先要将客户端和服务器端建立一一联系,每个客户 端都得有一个唯一标识,这样服务器才能识别出来。建议唯一标识的方法有两种:cookie或者通过GET方式指定。默认配置的PHP使用session的 时会建立一个名叫”PHPSESSID”的cookie(可以通过php.ini修改

cookie和session的关系(php版)

* cookie cookie是由web服务器发出,由web客户端(浏览器)接收并保存的一组数组。cookie被用于跟踪和识别用户。 php函数setcookie被用来设置cookie,之后cookie会发送到浏览器。 php全局变量$_COOKIE,用来查看现有的cookie内容。 * session session一般一散列表形式保存在web服务器中,用于保证一连串的web操作。...

云计算? 143

Ubuntu22.04+Docker一键部署Autoware Universe避坑指南(附鱼香ROS配置)

本文详细介绍了在Ubuntu22.04系统中使用Docker一键部署Autoware Universe的完整流程,包括鱼香ROS工具链配置、Docker环境优化及VSCode开发环境集成。通过实战指南帮助开发者快速搭建自动驾驶开发环境,解决常见部署问题,提升开发效率。

weixin_29254673的博客 414

Synopsys AXI VIP 从环境搭建到首个验证场景运行

本文详细介绍了Synopsys AXI VIP从环境搭建到首个验证场景运行的全过程,包括VIP安装、示例工程生成、验证环境解析、仿真调试技巧及进阶优化。特别针对AXI协议验证中的常见问题提供了实用解决方案,帮助工程师快速掌握这一SoC验证必备工具。

weixin_29185493的博客 340

php cookie的运行原理,PHP的cookie工作原理

当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:\Documents and Settings\用户名\Cookies目录下。cookie是HTTP标头的一部分,因此setcookie函数必须在任何内容送到浏览器之前调用。这种限制与header()函数一样。当客户再次访问该网站时,浏览器会自动把c:\Docum...

weixin_39907762的博客 250

Vivado 2018.3实战:用IDELAYE3和ISERDESE3搞定高速ADC数据采集(附仿真源码)

本文详细介绍了在Vivado 2018.3中使用Xilinx UltraScale架构的IDELAYE3和ISERDESE3原语实现高速ADC数据采集的实战方法。通过分析5GHz采样系统的时序挑战,提供从PCB布局到Vivado实现的完整解决方案,包括精密时序校准、多相位数据重组及系统级调试技巧,并附赠仿真源码助力工程师快速掌握高速数据采集技术。

weixin_30567225的博客 582

php详解session,php中session原理详解

SESSION:服务器端的会话技术。为每一个访问者创建唯一的id(UID)(而且同一用户不同的浏览器也会生成不同的UID),并基于这个id(UID)来存储变量;UID存储在cookie中,亦或者通过URL进行传导;Session底层实现、会话实现原理Session会话实现当用户A端第一次访问网站服务器时,服务器中确保有设置session的代码,那么服务器请求头header中会返回一个字段set-c...

weixin_31952675的博客 633

PX4 磁罗盘干扰分析

无人机上的电机电流会干扰无人机上搭载的磁罗盘,PX4官方提供了一些方式,通过分析飞行日志,判断电机是否对磁罗盘有严重影响。

Zecet的博客 3358

AM243x多核MCU启动流程解析与OSPI Flash烧录实战

嵌入式系统开发中,引导加载器是芯片上电后执行的第一段软件,负责初始化硬件、加载操作系统或应用程序。其工作原理通常遵循多级引导链,从ROM固件到用户可定制的二级引导程序,逐级建立完整的软件运行环境。这一机制的技术价值在于实现可靠的系统启动、支持安全校验,并为多核异构架构提供协同基础。在应用场景上,引导加载器广泛应用于工业控制、汽车电子和物联网设备,确保设备能从非易失性存储器中自主启动。本文聚焦于TI AM243x这类高性能多核MCU,深入剖析其包含RBL和SBL在内的三级启动流程,并详细演示如何通过UART接

weixin_28703451的博客 582

简介Cookie和Session的关系及区别(以PHP为例)

Cookie和SessionCookie和Session的关系Cookie和Session的区别PHP中Session的简单设置 Cookie和Session的关系 其实将Cookie和Session的关系做一个简单的例子。 比如说,我今天在某某地方遇到一个漂亮的美女,非常漂亮我就想去搭讪,当然我们需要先走过去,哎,看见姑娘我们当然要先打招呼对吧,告诉她我叫什么名字,今年多大了对不对,当然最后最重要的是我们需要一个对方的手机号或者其他的一个联系方式,这样方面我们以后方便联系,你介绍完自己以后,姑娘就会对你有

pycharm_k的博客 6993

cookie 和session关系

cookie 和session关系 **cookie:**有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密) 基于 Internet的各种服务系统应运而生,建立商业站点或者功能比较完善的个人站点,常常需要记录访问者的一些信息 目前公认的是,通过 Cookie 和 Session 技术来实现记录访问者的一些基本信息 Token :也称作令牌。是在服务端产生的,如果前端使用用户名/密码向服务端请求认证,服务端认证成功,那么在服务

weixin_42914706的博客 1318

C/C++ LMS算法详解及源码

LMS(Least Mean Squares)算法是一种自适应滤波器算法,用于估计一个系统的参数,以使输出信号与期望信号之间的均方误差最小化。LMS算法通过使用梯度下降的方法,逐步调整自适应滤波器的权值来优化滤波效果。

希望我的博客,能帮上你解决学习中工作中所遇到的问题 3276

智能制造之物料详解

制造业业务系统中的物料流转贯穿需求、采购、生产到交付全流程,各系统协同实现精准追踪。需求阶段由CRM/ERP/PLM生成物料计划;采购入库阶段SCM/WMS/QMS完成采购质检;生产阶段MES/APS协调领料加工;成品交付阶段WMS/SCM处理出库物流。整个流程以BOM为蓝图,ERP为调度中心,通过数据联动实现物料状态、位置和数量的全链路可追溯。

cdfunlove的博客 654

「PHP系列」PHP Cookie/Session详解

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

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

visio安装包

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

Cookie和Session

使用步骤:1.创建Cookie对象,绑定数据2.发送Cookie对象3.获取Cookie,拿到数据实现原理 基于响应头set-cookie和请求头cookie实现(1)Cookie 的概念和工作原理:Cookie 是指某些网站为了辨别用户身份、进行 Session 跟踪 而储存在用户本地终端上的数据(通常经过加密)。当用户在浏 览器中输入链接地址,第一次打开对应的网站时,网站就会通过 自己的服务器把用户信息暂时存储在用户本地内存或硬盘中。

weixin_62988359的博客 5025

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

PHP中cookie,session的使用和用户自动登录的实现

cookie的使用 //生成cookie //注释:setcookie() 函数必须位于 &lt;html&gt; 标签之前。 //setcookie(name, value, expire, path, domain); //名称,值,过期时间,有效路径,有效域名 //path,可选;如果路径设置为 "/",那么 cookie 将在整个域名内有效.如果路径设置为 "/test/",那么 ...

djl的专栏,blog.djlcx.cn好记 1万+

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

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

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

软件架构师笔记 1384

PHP Cookie与Session

1,什么是Cookie? cookie 是Web服务器暂时存储在用户硬盘上的一个文本文件,,并随后被Web读取。当用户再次访问Web网站,网站通过读取Cookie文件记录这位访客特定信息,从而迅速做出响应,例如页面不需要再输入用户名和密码 文本文件命令格式 用户名@网站地址[数字].txt Cookies中的内容大都经过了加密处理 2,Cookie功能 记录访客某些信息。可以记录用户访问网页次数,或者用户曾经输入的信息,或者用户上次登录的用户名 在页面之间传递变量。当浏览器页面关闭时,所有变

qq_61109509的博客 1360

PHP 会话控制 cookie与session 全解析

Cookie是存储在客户端浏览器中的数据,我们通过Cookie来跟踪与存储用户数据。

Xiaoming's Blog 3463

基于Cookie的Session和禁用Cookie的Session

Session简介 session的作用 它是一种在客户端与服务器之间保持状态的解决方案,它将会话信息(uid等)供浏览器后续请求使用,可以获取并修改变量的值。和cookie一起使用识别同一个客户。 session何时创建 客户首次访问服务器时,session被创建并分配一个唯一的session_id,并将这个session_id传入客户端cookie中,保持客户端与服务器端的session_i

ftd 2643

session默认有效期多长_Session和Cookie的关系

为什么要用Session和Cookie?  简单一句话,因为Session和Cookie可以记录用户状态信息。  嘶..这到底啥意思呢?动态网页的出现  什么是静态网页  ·含义:一个网页的内容是HTML代码编写的,文字、图片等内容均可通过HTML代码指定了  ·优势:加载速度快,编写简单  ·劣势:可维护性差,扩展性差,不能根据URL显示不同的内容;例如:在URL传入一个name参数想在网页上显...

weixin_39821378的博客 4214

PHP session和cookie的操作及使用

一,cookie1 PHP 透明地支持 HTTP cookie。cookie 是一种在远程浏览器端储存数据并以此来跟踪和识别用户的机制。可以用 setcookie() 或 setrawcookie() 函数来设置 cookie。cookie 是 HTTP 标头的一部分,因此 setcookie() 函数必须在其它信息被输出到浏览器前调用,这和对 header() 函数的限制类似。可以使用输出缓

一个IT人的宅男人生 3384
上一篇: PHP通用分页类
下一篇: Linux 下配置Samba实例代码
IT回忆录
博客等级 码龄16年 42粉丝 100原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值