Was ist die in PHP verwendete nieserialisierende Funktion? Nehmen Sie ein schnelles Verständnis für die grundlegende Nutzung
gitbox
2025-09-25
<?php /*** Was ist die in PHP verwendete unverzündete Funktion? Nehmen Sie ein schnelles Verständnis für die grundlegende Verwendung * * In der PHP -Programmierung stoßen wir häufig auf Szenarien, in denen komplexe Datenstrukturen (wie Arrays, Objekte usw.) in Dateien oder Datenbanken gespeichert werden müssen. * Zu diesem Zeitpunkt bietet PHP zwei sehr praktische Funktionen: serialize () und unserialisiert (). * * 1. Einführung in die nieserialisierende Funktion * * Die Funktion der FunktionIterialize () -Funktion besteht darin, die serialisierte Zeichenfolge durch Serialize () in den ursprünglichen Datentyp von PHP umzuwandeln. * Einfach ausgedrückt, es ist der "inverse Betrieb" von Serialize (). * * Funktionsprototyp: * gemischt unserialisiert (String $ str [, Array $ options = []]) * * Parameter Beschreibung: * 1. $ str: Erforderlich, String, die deserialisiert werden soll. * 2. $ Optionen: Optional, derzeit hauptsächlich verwendet, um die Deserialisierung von Klassenlisten zu ermöglichen, um die Sicherheit zu verbessern. * * Rückgabewert: * Gibt den Datentyp vor der Serialisierung (Array, Objekt, String usw.) erfolgreich zurück und gibt FALSE nicht zurück. * * 2. Basisnutzungsbeispiel */ // Beispiel 1: Deserialize ein Array
$ serializedArray = 'a: 3: {i: 0; s: 4: "php!"; i: 1; s: 3: "123"; i: 2; s: 6: "hello!";}' ; $ array = unserialisiert ( $ serializedArray ); Echo " "
; print_r ( $ array ); Echo "" ; // Ausgabeergebnis:
// Array
// ((
// [0] => PHP!
// [1] => 123
// [2] => Hallo!
//)
// Beispiel 2: Deserialisieren Sie ein Objekt
Klasse Benutzer { public $ Name ; öffentlich $ Alter ; } $ serializedObject = 'O: 4: "Benutzer": 2: {s: 4: "name"; s: 4: "John"; S: 3: "Alter"; i: 25;}' ; $ user = unserialisiert ( $ serializedObject ); Echo " "
; print_r ( $ user ); Echo "" ; // Ausgabeergebnis:
// Benutzerobjekt
// ((
// [Name] => John
// [Alter] => 25
//) /*** 3.. Sicherheitsüberlegungen für unverzündet** unserialisiert ist sehr gefährlich, wenn Daten aus nicht vertrauenswürdigen Quellen verarbeitet werden, da es einen Objektinjektionsangriff auslösen kann. * Angreifer können beliebigen Code durch sorgfältig konstruierte serialisierte Zeichenfolgen ausführen. * * Sicherheitsvorschläge: * 1. Versuchen Sie, von Benutzer bereitgestellte Daten zu vermeiden. * 2. Verwenden Sie den Parameter Eventualer Auserce_classes, um Deserialisierte Objektklassen zu begrenzen. * 3.. Überprüfen und filtern Sie die Datenquellen streng. * * 4. Zusammenfassung * * - nieserialize () wird verwendet, um serialisierte Zeichenfolgen in Original -PHP -Daten wiederherzustellen. * - In Verbindung mit Serialize () kann es komplexe Daten problemlos speichern und übertragen. * - Achten Sie bei der Verwendung auf Sicherheitsprobleme, insbesondere bei der Verarbeitung externer Daten. * * Sobald Sie die nieserialize () beherrschen, werden Sie in PHP flexibler mit Daten Persistenz und Objektspeicherung abwickeln. */ ?>
<?php
// irrelevantes PHP -Code nach dem Artikel
$ footer = "Dies ist der endunabhängige Code nach dem Artikel" ; Echo $ Fußzeile ; ?>