İçeriğe geç

PHP Güvenliği: SQL Injection, XSS ve CSRF Saldırılarından Korunma

10.09.2024 3 okunma

SQL Injection

Kullanıcı girdisinin doğrudan SQL sorgusuna eklenmesiyle oluşur. Saldırgan veritabanına yetkisiz erişebilir, veri silebilir.

// YANLIŞ — SQL injection açığı
$sql = "SELECT * FROM users WHERE email = '" . $_POST["email"] . "'";

// DOĞRU — Prepared Statement
$stmt = $pdo->prepare("SELECT * FROM users WHERE email = ?");
$stmt->execute([$_POST["email"]]);

XSS (Cross-Site Scripting)

Kullanıcı girdisinin HTML'e ham halde eklenmesi XSS'e yol açar. Saldırgan JavaScript kodu çalıştırabilir.

// YANLIŞ
echo $_GET["isim"];

// DOĞRU
echo htmlspecialchars($_GET["isim"], ENT_QUOTES, "UTF-8");

CSRF (Cross-Site Request Forgery)

Kullanıcının bilgisi olmadan form gönderilmesini sağlar. Token ile korunulur.

// Token oluştur
$_SESSION["csrf"] = bin2hex(random_bytes(32));

// Form'a ekle
echo '';

// Doğrula
if (!hash_equals($_SESSION["csrf"], $_POST["csrf"])) die("Geçersiz token");
php sql injection php xss güvenlik php csrf token php güvenlik açıkları php güvenli kodlama
İLERİ DÜZEY PHP ve MySQL YAZILIM hakkında bilgi almak ister misiniz?

Birebir özel yüz yüze eğitim yada uzaktan eğitim, esnek ders saatleri ile Pendik Kurtköy'de.