菜狗的php反序列化入门

鼠鼠我今天磨了一点时间,终于把反序列化磨明白了一点

什么是反序列化

序列化/反序列化其实是一种传递对象的方法

序列化就是将对象转换成字符串。字符串包括:属性名、属性值、属性类型和该对象对应的类名。在程序结束的时候,存在内存的记忆资料(变量,对象等)都会被立即销毁,但是有的时候,我们需要存储并传递一些持久类习性的数据时,就不能再将资料存储在内存里了,这时候,php序列化就将记忆资料的变量存储在了档案中(比如存储在mysql数据库中)

反序列化就是将这个过程反过来

对象的序列化利于对象的保存和传输,也可以让多个文件共享对象。

序列化和反序列化在php应用系统中,一般被用作缓存(cookie、session缓存等)

serialize()#将对象序列化成字符串
unserialize()#将字符串反序列成对象

一个简单的例子

<?php
class test{
    public $str='hacker';
}
$a = new test(); #创建一个对象
echo serialize($a);  #将这个对象进行序列化
echo "<br>";
print_r(unserialize($_GET['a']));#注意使用单引号包裹变量,否则会解析无法进行反序列化

?>

在这里插入图片描述

等刷写ctf的反序列化题目再来补充。。。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值