igbinary_unserialize
(PECL igbinary >= 1.1.1)
igbinary_unserialize —
Crée une variable PHP à partir d'une valeur sérialisée par igbinary_serialize()
Description
igbinary_unserialize() prend une variable sérialisée par
igbinary_serialize() et la convertit en une variable PHP.
Avertissement
Les entrées utilisateur non fiables ne doivent pas être passées à la fonction
igbinary_unserialize().
La désérialisation peut résulter en une exécution de code chargé et exécuté lors de l'instanciation
et l'autochargement d'objet, et ainsi, un utilisateur mal intentionné peut être capable d'exploiter
ce comportement.
À la place, un standard d'échange sûr tel que JSON (via json_decode() et
json_encode()) doit être utilisé pour passer des données sérialisées à l'utilisateur.
S'il est indispensable de désérialisation des données sérialisées provenant de l'extérieur, la fonction
hash_hmac() peut être utilisée pour valider les données.
Il est important de vérifier que personne n'a altéré les données.
Avertissement
Le protocole de sérialisation par igbinary ne permet pas de distinguer entre les différents groupes de
références. Toutes les références PHP à une valeur donnée sont vues comme membres d'un même
groupe lors de la désérialisation, même si elles appartenaient à des groupes différents avant la
sérialisation.
Erreurs / Exceptions
Les objets peuvent lancer un Throwable dans leur gestionnaire de désérialisation.
Notes
Avertissement
null
ou false
est retourné soit dans le cas d'une erreur soit après avoir désérialisé
le résultat de la sérialisation de null
ou false
. Il est possible de discriminer entre ces deux cas
spéciaux en comparant la valeur du paramètre str
avec le résultat de l'exécution
de igbinary_serialize(null)
ou de igbinary_serialize(false)
ou bien en attrapant un diagnostic E_NOTICE
.