Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

PHP – Filtered unserialize()

Carissa

Administrator
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye Turkmmo Discord Nitro Booster
Admin
VIP Üye
Katılım
2 Mar 2015
Konular
59,189
Mesajlar
88,439
Çözüm
109
Online süresi
4mo 16d
Reaksiyon Skoru
14,280
Altın Konu
2,398
TM Yaşı
11 Yıl 3 Ay 6 Gün
Başarım Puanı
1,051
MmoLira
695,092
DevLira
234
Ticaret - 0%
0   0   0

ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!

PHP'de, unserialize() yerleşik işlevi PHP sürüm 4'ten itibaren kullanılabilir. PHP 7 ile, izin verilen sınıfların bir listesini geçirmeye yönelik bir hüküm eklendi. Bu, güvenilmeyen kaynağın filtrelenmesini sağlar. unserialze() işlevi, yalnızca güvenilen sınıflardan gelen verileri seri hale getirir.

PHP'de serileştirme, bir değerin depolanabilir bir gösteriminin oluşturulması anlamına gelir. Bu, PHP değerlerini türlerini ve yapılarını kaybetmeden depolamak veya iletmek için yararlıdır. Bu amaç için yerleşik serialize() işlevi kullanılır.

serialize(mixed $value): string

unserialze() fonksiyonu serileştirilmiş gösterimden bir PHP değeri verir. PHP 7'den itibaren, unserialize() fonksiyonu aşağıdaki formatı takip eder:

unserialize(string $data, array $options = [ ]): mixed

$data parametresi, serileştirmeyi kaldırmak istediğiniz serileştirilmiş dizgedir.

$options parametresi yeni tanıtıldı. Aşağıdaki anahtarların ilişkisel dizisidir:

Sr.Noİsim ve Açıklama
1allowed_classes
kabul edilmesi gereken sınıf adlarının dizisi,
veya
hiçbir dersi kabul etmemek yanlıştır,
veya
tüm dersleri kabul etmek doğrudur.
Bu seçeneği atlamak, onu doğru olarak tanımlamakla aynı şeydir.
2max_depth
Serileştirme sırasında izin verilen yapıların maksimum derinliği.

Örnek

Aşağıdaki örneğe bir göz atın:

PHP:
<?php
   class MyClass {
      var int $x;
      function __construct(int $x) {
         $this->x = $x;
      }
   }
   class NewClass {
      var int $y;
      function __construct(int $y) {
         $this->y = $y;
      }
   }

   $obj1 = new MyClass(10);
   $obj2 = new NewClass(20);

   $sob1 = serialize($obj1);
   $sob2 = serialize($obj2);

   // default behaviour that accepts all classes
   // second argument can be ommited.
   // if allowed_classes is passed as false, unserialize converts all objects into __PHP_Incomplete_Class object
   $usob1 = unserialize($sob1 , ["allowed_classes" => true]);

   // converts all objects into __PHP_Incomplete_Class object except those of MyClass and NewClass
   $usob2 = unserialize($sob2 , ["allowed_classes" => ["MyClass", "NewClass"]]);

   echo $usob1->x . PHP_EOL;
   echo $usob2->y . PHP_EOL;
?>

Aşağıdaki çıktıyı üretecektir:

 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst