unserialize filtro de PHP ()
PHP 7 aumentos podem unserialize () fornece recursos de filtragem, pode impedir a injeção de código de dados ilegal, oferece dados desserializar mais seguros.
Exemplos
Exemplos
<? Php
classe MyClass1 {
pública $ obj1prop;
}
classe MinhaClasse2 {
pública $ obj2prop;
}
$ Obj1 = new MyClass1 ();
$ Obj1 -> obj1prop = 1;
$ Obj2 = new MinhaClasse2 ();
$ Obj2 -> obj2prop = 2;
$ SerializedObj1 = serialize ($ obj1) ;
$ SerializedObj2 = serialize ($ obj2) ;
// O comportamento padrão é para receber todas as classes
// O segundo parâmetro pode ser ignorado
// Se allowed_classes definido como false, unserialize todos os objetos serão convertidos para um objeto __PHP_Incomplete_Class
$ Dados = unserialize ($ serializedObj1, [ "allowed_classes" => true]);
// Converte todos os objetos aos objetos __PHP_Incomplete_Class, além de MyClass1 e MinhaClasse2
$ Data2 = unserialize ($ serializedObj2, [ "allowed_classes" => [ "MyClass1", "MyClass2"]]);
print ($ data -> obj1prop) ;
print (PHP_EOL);
print ($ data2 -> obj2prop) ;
?>
classe MyClass1 {
pública $ obj1prop;
}
classe MinhaClasse2 {
pública $ obj2prop;
}
$ Obj1 = new MyClass1 ();
$ Obj1 -> obj1prop = 1;
$ Obj2 = new MinhaClasse2 ();
$ Obj2 -> obj2prop = 2;
$ SerializedObj1 = serialize ($ obj1) ;
$ SerializedObj2 = serialize ($ obj2) ;
// O comportamento padrão é para receber todas as classes
// O segundo parâmetro pode ser ignorado
// Se allowed_classes definido como false, unserialize todos os objetos serão convertidos para um objeto __PHP_Incomplete_Class
$ Dados = unserialize ($ serializedObj1, [ "allowed_classes" => true]);
// Converte todos os objetos aos objetos __PHP_Incomplete_Class, além de MyClass1 e MinhaClasse2
$ Data2 = unserialize ($ serializedObj2, [ "allowed_classes" => [ "MyClass1", "MyClass2"]]);
print ($ data -> obj1prop) ;
print (PHP_EOL);
print ($ data2 -> obj2prop) ;
?>
A saída de execução de programa acima é:
1 2