Quelle est la fonction non sérialisée utilisée dans PHP? Vous prendre une compréhension rapide de son utilisation de base
gitbox
2025-09-25
<?php / ** * Quelle est la fonction non sérialisée utilisée dans PHP? Vous prenez une compréhension rapide de son utilisation de base * * Dans la programmation PHP, nous rencontrons souvent des scénarios où des structures de données complexes (telles que des tableaux, des objets, etc.) doivent être stockées dans des fichiers ou des bases de données. * À l'heure actuelle, PHP offre deux fonctions très pratiques: serialize () et unserialize (). * * 1. Introduction à la fonction non sérialisée * * La fonction de la fonction Unserialize () consiste à reconvertir la chaîne sérialisée via serialize () dans le type de données d'origine de PHP. * En termes simples, c'est le "fonctionnement inverse" de Serialize (). * * Fonction Prototype: * mixte Unserialize (String $ Str [, Array $ options = []]) * * Paramètre Description: * 1. $ STR: requis, chaîne est désérialisée. * 2. $ Options: Facultatif, actuellement principalement utilisé pour permettre la désérialisation des listes de classe pour améliorer la sécurité. * * Valeur de retour: * Renvoie avec succès le type de données avant la sérialisation (tableau, objet, chaîne, etc.) et ne revient pas faux. * * 2. Exemple d'utilisation de base * / // Exemple 1: désérialiser un tableau
$ serializedArray = 'A: 3: {i: 0; s: 4: "php!"; i: 1; s: 3: "123"; i: 2; s: 6: "Bonjour!";}' ; $ Array = Unserialize ( $ SerializedArray ); écho " "
; print_r ( $ array ); écho "" ; // Résultat de sortie:
// Tableau
// (
// [0] => php!
// [1] => 123
// [2] => Bonjour!
//)
// Exemple 2: désérialiser un objet
classe Utilisateur { public $ name ; publique $ âge ; } $ SerializedObject = 'O: 4: "User": 2: {S: 4: "Name"; S: 4: "John"; S: 3: "Age"; i: 25;}' ; $ user = nonserialize ( $ SerializedObject ); écho " "
; print_r ( $ utilisateur ); écho "" ; // Résultat de sortie:
// Objet utilisateur
// (
// [nom] => John
// [Âge] => 25
//) / ** * 3. Considérations de sécurité pour un non-service * * Un non-série est très dangereuse lors du traitement des données à partir de sources non fiables, car elle peut déclencher une attaque d'injection d'objet. * Les attaquants peuvent exécuter du code arbitraire par des chaînes sérialisées soigneusement construites. * * Suggestions de sécurité: * 1. Essayez d'éviter la désérialisation des données fournies par l'utilisateur. * 2. Utilisez le paramètre ALLOGED_CLASSES pour limiter les classes d'objets désérialisées. * 3. Vérifiez et filtrez strictement les sources de données. * * 4. Résumé * * - Unserialize () est utilisé pour restaurer les chaînes sérialisées aux données PHP d'origine. * - En conjonction avec Serialize (), il peut facilement stocker et transférer des données complexes. * - Assurez-vous de faire attention aux problèmes de sécurité lorsque vous l'utilisez, en particulier lors du traitement des données externes. * * Une fois que vous maîtrisez Unserialize (), vous serez plus flexible pour gérer la persistance des données et le stockage d'objets en PHP. * / ?>
<?php
// code PHP non pertinent après l'article
$ footer = "Ceci est le code indépendant de la fin après l'article" ; écho $ footer ; ?>