İNCELE · KARAR VER · DÜZELT
Güvenli kod laboratuvarı
Riskli kodu okuyun ve savunmayı seçin. Senaryolar dış sistemlere bağlanmaz; örnek kodlar çalıştırılmaz.
SENARYO 01
SQL Injection: veriyi sorgudan ayırın
Bir profil sayfası, URL’den gelen kullanıcı kimliğini SQL metnine ekliyor. Hangi değişiklik sorgu yapısını korur?
İNCELENECEK KODRiskli örnek
// Hatalı örnek — çalıştırılmaz
$sql = 'SELECT * FROM users WHERE id = ' . $_GET['id'];SENARYO 02
XSS: çıktıyı bağlamına göre kodlayın
Bir yorum, HTML metin düğümüne doğrudan yazdırılıyor. Güvenli gösterim için hangi yaklaşım uygundur?
İNCELENECEK KODRiskli örnek
// Hatalı örnek — çalıştırılmaz
echo '<p>' . $comment . '</p>';SENARYO 03
IDOR: her nesnede yetkiyi doğrulayın
Oturum açmış bir kullanıcı, belge numarasıyla kayıt getiriyor. Başka bir kullanıcının belgesine erişimi nasıl önlersiniz?
İNCELENECEK KODRiskli örnek
// Hatalı örnek — çalıştırılmaz
SELECT * FROM documents WHERE id = ?