SİBERSALDİRİ.COM · KONU ODAKLI DERS
Bu derste kazanacaklarınız
- Kullanıcı verisi ile Yerleşik API arasındaki ilişkiyi açıklamak.
- “En güçlü ilk tasarım tercihi nedir?” sorusuna gerekçeli yanıt vermek.
- Örneği değiştirip beklenen ve gözlenen davranışı karşılaştırmak.
Çalışma mantığı ve güven sınırı
Dosya boyutu gibi iş için kabuk çağırmak yerine dilin yerleşik API'sini kullanın. Komut gerçekten gerekiyorsa yürütülebilir dosya ve argümanlar ayrı sözleşmeyle aktarılmalı, izin verilen işlem ve değerler kısıtlanmalıdır. Kaçış tekniği işletim sistemi ve yorumlayıcıya bağlıdır; genel amaçlı temizleme garantisi değildir. Servis hesabı minimum izinle çalışmalıdır.
Açıklamalı örnek
Aşağıdaki parça kavramı görünür kılar. Komut veya kod içeren örnekleri üretim sisteminde değil, size ait ayrı deneme ortamında değerlendirin. Mimari şema ve politika örnekleri çalıştırılabilir program değildir.
<?php
$path = __DIR__ . '/sample.txt';
if (!is_file($path)) { throw new RuntimeException('Dosya yok'); }
echo filesize($path);Beklenen sonuç ve yorumu
Yerel sabit dosyanın boyutu kabuk komutu çalıştırılmadan alınır.
Karşılaştırmalı durumlar
| Durum | Beklenen yaklaşım | Neden? |
|---|---|---|
| Yerleşik API yeterli | Kabuk kullanma | Yorumlayıcı sınırı kaldırılır |
| Komut gerekli | Sabit yürütülebilir ve argüman | Serbest kod kabul edilmez |
| Girdi temizlendi deniyor | Bağlamı doğrula | Kaçış kuralları aynı değildir |
Uygulama görevi
Kabuk kullanan bir dosya listeleme işini yerleşik dosya API'siyle nasıl değiştireceğinizi yazın.
- İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
- Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
- Sonucu yukarıdaki karşılaştırma tablosuyla değerlendirin. Uymayan durumda hangi varsayımın yanlış olabileceğini açıklayın.
Sık yapılan hata ve düzeltme yönü
İstemciden komut veya çalıştırılabilir dosya adı kabul etmeyin.
Kendinizi sınayın
En güçlü ilk tasarım tercihi nedir?
Açıklamalı yanıt: İşi kabuk yorumlayıcısı olmadan güvenli yerleşik API ile yapmak, ilgili yorumlayıcı sınırını kaldırır.
İlgili derslerle ilerleyin
- Güvenli kodlama: Güven sınırına göre kontrol
- LFI: Kullanıcı girdisini dosya seçimine dönüştürmeme
- SSTI: Şablon kodu ile kullanıcı verisini ayırma
- SQL temelleri: Seçim, ilişki ve güvenli parametre
Teknik başvuru
Bu dersin anlatımı ve örnekleri akademi için yeniden hazırlanmıştır. Aşağıdaki bağlantı, kullanılan teknoloji veya güvenlik yaklaşımının ayrıntılarını doğrulamak için teknik başvurudur.
