国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

PHP filter unserialize()

PHP 7 adds a feature that can provide filtering for unserialize(), which can prevent code injection of illegal data and provide safer deserialized data.

Example

<?php
class MyClass1 { 
   public $obj1prop;   
}
class MyClass2 {
   public $obj2prop;
}


$obj1 = new MyClass1();
$obj1->obj1prop = 1;
$obj2 = new MyClass2();
$obj2->obj2prop = 2;

$serializedObj1 = serialize($obj1);
$serializedObj2 = serialize($obj2);

// 默認(rèn)行為是接收所有類
// 第二個參數(shù)可以忽略
// 如果 allowed_classes 設(shè)置為 false, unserialize 會將所有對象轉(zhuǎn)換為 __PHP_Incomplete_Class 對象
$data = unserialize($serializedObj1 , ["allowed_classes" => true]);

// 轉(zhuǎn)換所有對象到 __PHP_Incomplete_Class 對象,除了 MyClass1 和 MyClass2
$data2 = unserialize($serializedObj2 , ["allowed_classes" => ["MyClass1", "MyClass2"]]);

print($data->obj1prop);
echo "<br/>";
print($data2->obj2prop);
?>

The above program execution output result is:

1
2
Continuing Learning
||
<?php class MyClass1 { public $obj1prop; } class MyClass2 { public $obj2prop; } $obj1 = new MyClass1(); $obj1->obj1prop = 1; $obj2 = new MyClass2(); $obj2->obj2prop = 2; $serializedObj1 = serialize($obj1); $serializedObj2 = serialize($obj2); // 默認(rèn)行為是接收所有類 // 第二個參數(shù)可以忽略 // 如果 allowed_classes 設(shè)置為 false, unserialize 會將所有對象轉(zhuǎn)換為 __PHP_Incomplete_Class 對象 $data = unserialize($serializedObj1 , ["allowed_classes" => true]); // 轉(zhuǎn)換所有對象到 __PHP_Incomplete_Class 對象,除了 MyClass1 和 MyClass2 $data2 = unserialize($serializedObj2 , ["allowed_classes" => ["MyClass1", "MyClass2"]]); print($data->obj1prop); echo "<br/>"; print($data2->obj2prop); ?>
submitReset Code