Rumah  >  Artikel  >  pembangunan bahagian belakang  >  PHP menafikan

PHP menafikan

WBOY
WBOYasal
2024-08-29 12:51:251073semak imbas

PHP unserialize ialah salah satu fungsi yang boleh digunakan untuk menukar data bersiri kepada data input pengguna sebenar; ia adalah proses yang bertentangan dengan fungsi bersiri terutamanya ia akan memberi tumpuan kepada tatasusunan, pemetaan koleksi ia akan mengira indeks tatasusunan untuk setiap elemen saiz besar atau beberapa struktur data kompleks lain yang kami gunakan beberapa kaedah lalai untuk mengendalikan data dan juga unserialize () kaedah mengembalikan nilai Boolean jika input pengguna tidak boleh disiri, jadi palsu dikembalikan pada konsol output objek dicipta secara berasingan untuk fungsi unserialize.

IKLAN Kursus Popular dalam kategori ini PEMBANGUN PHP - Pengkhususan | 8 Siri Kursus | 3 Ujian Olok-olok

Mulakan Kursus Pembangunan Perisian Percuma Anda

Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain

Sintaks:

PHP mempunyai sintaksnya sendiri untuk pembolehubah, kata kunci dan fungsi untuk mencipta aplikasi berasaskan web dengan lebih canggih. Secara amnya, format bersiri PHP tidak didokumenkan dengan baik seperti fungsi serialize(); ia menyokong integer bersiri, terapung, boolean, rentetan, tatasusunan. Objek dan ia termasuk rujukan lain untuk sokongan dalam pelaksanaan unserialize.

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

Kod di atas ialah sintaks asas untuk menggunakan fungsi serialize() dan unserialize() dalam PHP. Ia menyokong semua jenis data dan fungsi lalai lain.

Bagaimanakah Fungsi tidak bersiri berfungsi dalam PHP?

Fungsi unserialize bergantung pada fungsi serialize; apa sahaja data yang dipanggil dan digunakan pada fungsi itu, ia akan bersiri sepenuhnya dengan kunci. Jika kami ingin mengakses data, kami ingin menyahsiri data atau menyahsiri data dalam kod. Kemudian hanya kami yang mengakses data; ia juga digunakan untuk konsep fail. Menggunakan fungsi serialize dan unserialize() ini sentiasa mengembalikan keadaan Boolean untuk menjamin dan lebih dilindungi pada objek yang tidak bersiri, atau kita boleh memanggilnya sebagai data tidak dipercayai. Jadi ia akan dielakkan untuk beberapa malware lain, virus dari luar mesin. Ia juga dilindungi dengan suntikan kod dan juga db end ia akan mengelakkan beberapa serangan suntikan sql untuk tapak perisian hasad yang tidak dipercayai.

Secara amnya, fungsi unserialize() mengambil dua parameter, str dan pilihan; str ialah salah satu parameter yang mengandungi rentetan bersiri yang menunggu untuk dinyahsiri, dan pilihan ialah salah satu tatasusunan yang terkandung di dalamnya untuk kawalan bagi gelagat fungsi tertentu yang diterimanya hanya untuk pengguna yang sah terutamanya kelas terbina seperti dibenarkan_kelas. Ia hanya menerima untuk nama kelas yang ditentukan dan terutamanya beberapa kaedah seperti _wakeup() dan _destruct(); kaedah ini dilaksanakan dengan menggunakan objek bersiri; apabila kita menggunakan kaedah ini, ia dilaksanakan secara automatik apabila fungsi unserialize() dipanggil pada objek tertentu.

Contoh PHP menyahsiri

Diberikan di bawah adalah contoh PHP unserialize:

Contoh #1

Kod:

<?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;
?>

Output:

PHP menafikan

Dalam contoh di atas, kami menggunakan fungsi serialize dan unserialize() berada dalam kod yang sama. Setiap kali pengguna memberikan input kepada aplikasi, ia akan menyimpannya pada pembolehubah yang berasingan, dan ia adalah yang bersiri dan ia juga akan dicetak pada konsol dengan menggunakan pernyataan gema. Kami ingin menyahsiri data dengan menggunakan fungsi unserialize(), dan ia akan disimpan pada pembolehubah yang berasingan, dan juga ia akan dicetak dengan menggunakan pernyataan gema yang sama. Jika kami ingin mencetak hasil pada konsol, kami akan menggunakan kaedah lalai lain seperti cetak, gema dan lain-lain. Ini adalah beberapa kaedah yang digunakan pada skrip PHP.

Contoh #2

Kod:

<?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;
?>

Output:

PHP menafikan

Dalam contoh kedua, kami menggunakan konsep bersiri dan tidak bersiri yang sama. Namun, di sini kami menggunakan beberapa kelas. Selain itu, perhubungan ibu bapa-anak untuk setiap kelas mempunyai pembolehubah berasingan mereka sendiri dengan pengubah akses awam untuk menggunakan pembolehubah yang sama di luar kelas; dengan menggunakan objek seperti itu, kita boleh memulakan nilai untuk pembolehubah yang berasingan. Mereka akan bersiri dan menyimpannya pada pembolehubah yang berasingan; selepas itu, kita boleh menyahsiri nilai pembolehubah dan menyimpannya sebagai berasingan. Kita boleh menambah n bilangan pembolehubah dengan nilai individu untuk mensiri dan menyahsiri data. Kami menggunakan allowed_classes untuk mengesahkan data bersiri dalam kod.

Contoh #3

Kod:

<?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;
?>

Output:

PHP menafikan

Dalam contoh terakhir, kami menggunakan kedua-dua fungsi bersiri dan menyahsiri kerana kami menggunakan pasangan nilai kunci untuk menyahsiri tatasusunan dan objek dalam PHP. Kami menggunakan satu pembolehubah dengan nilai "Siva" ia akan menjadi rentetan teks biasa dan kemudian ditukar kembali kepada objek yang bersiri dan tidak bersiri nilainya.

Kesimpulan

Dalam PHP, kami menggunakan fungsi lalai, pembolehubah dan kata kunci untuk mencipta aplikasi web sifat mesra pengguna. Seperti itu, ia boleh menggunakan beberapa kelas dan kaedah lalai untuk mencipta beberapa teknik lanjutan dalam aplikasi berasaskan web, supaya kami menggunakan beberapa teknik seperti serialize() dan unserialize() untuk menyimpan dan mendapatkan semula data dengan lebih selamat.

Atas ialah kandungan terperinci PHP menafikan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:PHP SerializeArtikel seterusnya:PHP Serialize