尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

【session反序列化】 - 指南

【session反序列化】 - 指南
📅 发布时间:2026/6/18 20:10:44

【session反序列化】 - 指南

2025-09-21 14:02  tlnshuju  阅读(0)  评论(0)    收藏  举报

一、session 存储方式回顾

PHP 内置了多种处理器用于存储 $_SESSION 数据时会对数据进行序列化和反序列化,常用的有以下三种,对应三种不同的处理格式:

php 键名+竖线(|)+经过serialize()函数处理过的值

php_binary 键名的长度对应的ascii字符+键名+经过serialize()函数序列化后的值

php_serialize 经过serialize()函数处理过的值,会将键名和值当作一个数组序列化

在这里插入图片描述

二、session处理器使用不当带来的问题

第一种

在这里插入图片描述

查看session文件保存的内容,直接把session数组序列化后存储

在这里插入图片描述
若是在读取的时候把引擎改成php
在这里插入图片描述
在这里插入图片描述
php引擎会把竖线前面的值认为是键名,竖线后面的值认为是value
在这里插入图片描述
读取后,就把竖线前面的值认为是key,后面的值经过反序列化后被读取成了对象
在这里插入图片描述
所以这就是处理器使用不当带来的问题
在这里插入图片描述

第二种

在这里插入图片描述
这里有一个wakeup和destruct方法
在这里插入图片描述
_wakeup方法当类的对象被反序列化后会自动调用这个方法

_destruct方法当类的对方被销毁的时候会自动调用这个方法

当我们给foo1.php文件,通过get方法传入数据,通过php_sserialize方法保存数据

|O:4:"0wo0":1:{
s:2:"hi";
s:4:"2333";
}

这时通过foo2.php文件,通过php引擎读取数据时,就会被竖线分割,竖线之前的为key,竖线之后的为value,竖线后面的数据会被反序列化,我们上面传入的是Owo0类序列化后的结果,就相当于它反序列化了一个对象,因为Owo0类有魔术方法,所以触发反序列化时会自动触发魔术方法_wakeup,执行里面的代码

传入后保存的session文件变成了
在这里插入图片描述
用php读取,竖线前面变成了key
在这里插入图片描述
竖线后面就是value,并且是序列化后的结果,读取的时候就会进行反序列化
在这里插入图片描述
运行后,当类被反序列化时会自动调用_wakeup方法,输出hi,当这个对象被销毁时,会自动调用_destruct方法输出hi变量里面的2333
在这里插入图片描述

三、session 监测上传进度

session相关设置选项含义

在这里插入图片描述
session.upload_progress.cleanup默认是开启的,但在实验中需要关闭
在这里插入图片描述
在这里插入图片描述
测试代码:

<?php
session_start();
var_dump($_SESSION);

对应的上传表单:

<form action="sess1.php" method="POST" enctype="mul

相关新闻

  • 在k8s集群中解决master节点与node通信
  • PHP中常见数组操作函数
  • 修复Ubuntu系统文件损坏:手动fsck指令

最新新闻

  • 2026合肥闲置包包回收指南:全城实测靠谱门店与行情解析 - 薛定谔的梨花猫
  • 梦断代码阅读笔记two
  • 无锡闲置黄金变现首选|主城口碑老店合集,实价交易无隐形消费 - 奢侈品回收评测
  • 2026年不锈钢风管厂家选型参考:华南代表性品牌解析 - 速递信息
  • Windows防撤回神器:3分钟解锁微信/QQ消息完整查看权限
  • 2026年沟槽玛钢管件厂家口碑推荐榜,这几家排行靠前 - 官方资讯

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号