unserialize filtro de PHP ()
PHP 7 aumentos pueden unserialize () proporciona funciones de filtrado, se puede evitar la inyección de código ilegal de datos, proporciona un conjunto de datos deserializar más seguros.
Ejemplos
Ejemplos
<? Php
MyClass1 clase {
$ obj1prop pública;
}
miclase2 clase {
$ obj2prop pública;
}
$ Obj1 = new MyClass1 ();
$ Obj1 -> obj1prop = 1;
$ Obj2 = new miclase2 ();
$ Obj2 -> obj2prop = 2;
$ SerializedObj1 = serialize ($ obj1) ;
$ SerializedObj2 = serialize ($ obj2) ;
// El comportamiento por defecto es recibir todas las clases
// El segundo parámetro puede ser ignorado
// Si allowed_classes establece en false, unserialize todos los objetos se convertirán en un objeto __PHP_Incomplete_Class
$ Data = unserialize ($ serializedObj1, [ "allowed_classes" => true]);
// Convertir todos los objetos a los objetos __PHP_Incomplete_Class, además de MyClass1 y miclase2
$ Datos2 = unserialize ($ serializedObj2, [ "allowed_classes" => [ "MyClass1", "MyClass2"]]);
print ($ data -> obj1prop) ;
impresión (PHP_EOL);
print ($ data2 -> obj2prop) ;
?>
MyClass1 clase {
$ obj1prop pública;
}
miclase2 clase {
$ obj2prop pública;
}
$ Obj1 = new MyClass1 ();
$ Obj1 -> obj1prop = 1;
$ Obj2 = new miclase2 ();
$ Obj2 -> obj2prop = 2;
$ SerializedObj1 = serialize ($ obj1) ;
$ SerializedObj2 = serialize ($ obj2) ;
// El comportamiento por defecto es recibir todas las clases
// El segundo parámetro puede ser ignorado
// Si allowed_classes establece en false, unserialize todos los objetos se convertirán en un objeto __PHP_Incomplete_Class
$ Data = unserialize ($ serializedObj1, [ "allowed_classes" => true]);
// Convertir todos los objetos a los objetos __PHP_Incomplete_Class, además de MyClass1 y miclase2
$ Datos2 = unserialize ($ serializedObj2, [ "allowed_classes" => [ "MyClass1", "MyClass2"]]);
print ($ data -> obj1prop) ;
impresión (PHP_EOL);
print ($ data2 -> obj2prop) ;
?>
La salida por encima de la ejecución del programa es:
1 2