php 反序列化一个问题
本帖最后由 城南彼岸花复开 于 2021-1-22 16:46 编辑如下代码,使用序列化private后出现O:7:"student":1:{s:17:"studentpassword";s:6:"123456";},把private的值放到反序列化后发现报错了,求解是什么原因?
初步了解是有%00在student变量两边,但是不知道private和protected该如何反序列化,求大佬开导一下,万分感谢!{:301_975:}
代码:
<?php
class student
{
//public $money='s1885207154a';
private $password='123456';//private反序列化不出来
//protected $id='007';
}
//$s=new student();
//$s_serialize=serialize($s);
//print_r($s_serialize);
//echo"</br>";
//error_reporting(0);
$student=O:7:"student":1:{s:17:"studentpassword";s:6:"123456";}
$r_unserialize=unserialize($student);
print_r($r_unserialize);
echo"</br>";
error_reporting(0);
使用get传参后,在student变量旁边加上两个%00又能成功传private变量
?> 字符串里的冒号加转义符试试我不确定 你rul编码提交试试
页:
[1]