一、什么是序列化和反序列化
序列化是将对象转换为字符串以便存储传输的一种方式。而反序列化恰好就是序列化的逆过程,反序列化会将字符串转换为对象供程序使用。在PHP中序列化和反序列化对应的函数分别为serialize()和unserialize()。
二、什么是反序列化漏洞
当程序在进行反序列化时,会自动调用一些函数,例如__wakeup(),__destruct()等函数,但是如果传入函数的参数可以被用户控制的话,用户可以输入一些恶意代码到函数中,从而导致反序列化漏洞。
三、序列化函数(serialize)
当我们在php中创建了一个对象后,可以通过serialize()把这个对象转变成一个字符串,用于保存对象的值方便之后的传递与使用。
测试代码
<?php class Stu{public $name = 'aa';public $age = 18;public function demo(){echo "你好啊";}$stu = new Stu();echo "<pre>";print_r($stu);//进行序列化$stus = serialize($stu);print_r($stus);}
?>
查看结果:

原创文章,作者:修行,如若转载,请注明作者昵称:修行及出处:https://www.fjsqywlkj.top/computer/html-programming/4442.html