Heim > Backend-Entwicklung > PHP-Tutorial > PHP unserialize

PHP unserialize

WBOY
Freigeben: 2024-08-29 12:51:25
Original
1116 Leute haben es durchsucht

Die PHP-Deserialisierung ist eine der Funktionen, die verwendet werden können, um die serialisierten Daten in die tatsächlichen Benutzereingabedaten umzuwandeln; Es handelt sich um einen entgegengesetzten Prozess zur Serialisierungsfunktion. Hauptsächlich konzentriert er sich auf die Arrays und ordnet Sammlungen zu. Er berechnet den Array-Index für jedes Element mit großer Größe oder anderen komplexen Datenstrukturen. Wir haben eine Standardmethode für die Verarbeitung der Daten verwendet, außerdem unserialize(). Die Methode gibt den booleschen Wert zurück, wenn die Benutzereingabe nicht unserialisierbar ist. Daher wird auf der Ausgabekonsole „false“ zurückgegeben. Das Objekt wird separat für die Deserialisierungsfunktion erstellt.

WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 Probetests

Starten Sie Ihren kostenlosen Softwareentwicklungskurs

Webentwicklung, Programmiersprachen, Softwaretests und andere

Syntax:

PHP verfügt über eine eigene Syntax für Variablen, Schlüsselwörter und Funktionen zum Erstellen anspruchsvollerer webbasierter Anwendungen. Im Allgemeinen ist das PHP-Serialisierungsformat nicht so gut dokumentiert wie die Funktion serialize(); Es unterstützt serialisierte Ganzzahlen, Gleitkommazahlen, boolesche Werte, Zeichenfolgen und Arrays. Objekte und enthält weitere Referenzen zur Unterstützung bei der Unserialize-Implementierung.

<?php
$input= array('','');
$var = serialize($input);
$var1 = unserialize($var);
---some php codes based on the user needs---
?>
Nach dem Login kopieren

Die oben genannten Codes sind die grundlegende Syntax für die Verwendung der Funktionen serialize() und unserialize() in PHP. Es unterstützt alle Datentypen und andere Standardfunktionen.

Wie funktioniert die Deserialisierungsfunktion in PHP?

Die Deserialisierungsfunktion hängt von der Serialisierungsfunktion ab; Unabhängig davon, welche Daten in dieser Funktion aufgerufen und verwendet werden, werden sie vollständig mit Schlüsseln serialisiert. Wenn wir auf die Daten zugreifen möchten, möchten wir die Daten deserialisieren oder die Daten im Code deserialisieren. Dann haben nur wir auf die Daten zugegriffen; es wird auch für die Dateikonzepte verwendet. Die Verwendung dieser Serialisierungs- und Unserialize()-Funktionen gibt immer die booleschen Bedingungen zurück, um die unserialisierenden Objekte zu sichern und besser zu schützen, oder wir können sie als nicht vertrauenswürdige Daten bezeichnen. Dadurch wird verhindert, dass andere Schadprogramme und Viren von außerhalb des Computers eindringen. Es sichert auch mit den Code-Injections und sogar DB-Ende, wodurch einige SQL-Injection-Angriffe für nicht vertrauenswürdige Malware-Sites vermieden werden.

Im Allgemeinen benötigt die Funktion unserialize() zwei Parameter, str und Optionen; Der str ist einer der Parameter, der serialisierte Zeichenfolgen enthält, die darauf warten, deserialisiert zu werden, und Optionen sind eines der Arrays, die er zur Steuerung bestimmter Funktionsverhalten enthält, die er nur für gültige Benutzer akzeptiert, insbesondere integrierte Klassen wie erlaubte_Klassen. Es akzeptiert nur die angegebenen Klassennamen und insbesondere einige Methoden wie _wakeup() und _destruct(); Diese Methoden werden mithilfe der serialisierten Objekte implementiert. Wenn wir diese Methode verwenden, wird sie automatisch ausgeführt, wenn die Funktion unserialize() für das spezifische Objekt aufgerufen wird.

Beispiele für PHP-Deserialisierung

Im Folgenden finden Sie Beispiele für die PHP-Deserialisierung:

Beispiel #1

Code:

<?php
$inputs = serialize(array('Siva', 'Raman', 'Sivaraman', 'wdigb', 'dwiugv', '87dhg', 'wdhgv', 'edhgfv', 'hfe', 'wgieufv', 'ehoije', 'iwuoegf', 'wuieguv','jdgv', 'wqgdjf', 'khwdjgh','jdhfdkswi', 'uqiwuke', 'iqweyf', 'oiuqiwleyugu' ));
echo  $inputs . '<br>';
$vars = unserialize($inputs);
var_dump ($vars);
echo $vars;
?>
Nach dem Login kopieren

Ausgabe:

PHP unserialize

Im obigen Beispiel haben wir die Funktionen serialize und unserialize() im gleichen Code verwendet. Immer wenn der Benutzer der Anwendung eine Eingabe gibt, wird diese in einer separaten Variablen gespeichert. Dabei handelt es sich um die serialisierte Variable, die mithilfe der Echo-Anweisungen auch auf der Konsole ausgegeben werden kann. Wir möchten die Daten mithilfe der Funktion unserialize() deserialisieren. Sie werden in einer separaten Variablen gespeichert und mit denselben Echo-Anweisungen gedruckt. Wenn wir die Ergebnisse auf der Konsole drucken möchten, verwenden wir andere Standardmethoden wie print, echo usw. Dies sind einige Methoden, die in den PHP-Skripten verwendet werden.

Beispiel #2

Code:

<?php
class demo {
public $vars;
}
class demo1 {
public $vars1;
}
class demo2 extends demo {
public $vars2, $vars3;
}
class demo3 extends demo2{
public $vars4;
}
class demo4 extends demo3 {
public $vars5;
}
class demo5 extends demo4 {
public $vars6;
}
class demo6 extends demo5{
public $vars7;
}
class demo7 extends demo6 {
public $vars8,$vars9, $vars10;
}
$c1 = new demo();
$c1->vars = 1234;
$c3 = new demo2();
$c3->vars2 = "Siva";
$c2 = new demo1();
$c2->vars1 = 2756876;
$d1 = serialize($c1);
$d2 = serialize($c2);
$d5 = serialize($c3);
$d3 = unserialize($d1, ["allowed_classes" => true]);
$d6 = unserialize($d5, ["allowed_classes" => true]);
$d4 = unserialize($d2, ["allowed_classes" => ["demo", "demo1"]]);
$d7 = unserialize($d5, ["allowed_classes" => ["demo", "demo1", "demo2"]]);
echo "Welcome To My Domain is: " . $d3->vars, $d6 ->vars2;
echo "<br />";
echo "Result of demo1 d3 memeber is: " . $d4->vars1;
echo "<br/>";
echo "Result of demo2 d7 memeber is: " . $d7->vars2;
?>
Nach dem Login kopieren

Ausgabe:

PHP unserialize

Im zweiten Beispiel haben wir die gleichen Serialisierungs- und Deserialisierungskonzepte verwendet. Dennoch haben wir hier einige Klassen verwendet. Darüber hinaus verfügen die Eltern-Kind-Beziehungen für jede Klasse über eigene separate Variablen mit öffentlichen Zugriffsmodifikatoren für die Verwendung derselben Variablen außerhalb der Klassen. Indem wir das Objekt auf diese Weise verwenden, können wir die Werte für die einzelnen Variablen initialisieren. Sie werden es serialisieren und in einer separaten Variablen speichern. Danach können wir die Variablenwerte deserialisieren und separat speichern. Wir können n Variablen mit individuellen Werten hinzufügen, um die Daten zu serialisieren und zu deserialisieren. Wir haben „allowed_classes“ verwendet, um die Serialisierungsdaten im Code zu validieren.

Beispiel #3

Code:

<?php
class demo
{
public $vars;
}
$vars1= new demo();
$vars1->vars= "siva";
$vars2= serialize($vars1);
echo "Welcome To My Domain<br> '$vars2'";
echo "<br><br>";
$vars3= unserialize($vars2);
echo "Have a Nice Day <br>";
echo  var_dump($vars3);
echo "<br> <br>";
echo "Thank you users your net result is shown" . $vars3->vars;
?>
Nach dem Login kopieren

Ausgabe:

PHP unserialize

Im letzten Beispiel haben wir sowohl die Serialisierungs- als auch die Deserialisierungsfunktion verwendet, indem wir Schlüssel-Wert-Paare für die Deserialisierung der Arrays und Objekte in PHP verwendet haben. Wir haben eine Variable mit dem Wert „Siva“ verwendet. Es handelt sich um eine einfache Textzeichenfolge, die dann zurück in das Objekt konvertiert wird, das serialisiert und die Werte deserialisiert wird.

Fazit

In PHP haben wir Standardfunktionen, Variablen und Schlüsselwörter verwendet, um die Benutzerfreundlichkeit der Webanwendungen zu gewährleisten. Auf diese Weise können einige Standardklassen und -methoden zum Erstellen einiger erweiterter Techniken in webbasierten Anwendungen verwendet werden, sodass wir einige Techniken wie serialize() und unserialize() zum sichereren Speichern und Abrufen der Daten verwendet haben.

Das obige ist der detaillierte Inhalt vonPHP unserialize. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage