İçeriğe geç

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

10.09.2024 2,177 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
Php - MySQL Eğitimi 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.