Kod Uzmanı
Yazılım

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

Web sitenizi en yaygın siber saldırı türleri olan SQL Injection ve XSS açıklarına karşı koruma rehberi.

Yayın: 20.07.2026 Güncelleme: 21.09.2026 2 dk okuma
Web Güvenliği: SQL Injection ve XSS Saldırılarından Korunma

Web Siteniz Saldırılara Karşı Ne Kadar Güvenli?

Günümüzde web sitelerine yapılan siber saldırıların büyük bir kısmı doğrudan insan müdahalesi olmadan, interneti sürekli tarayan otomatik botlar tarafından gerçekleştirilir. En yaygın ve tehlikeli güvenlik açıkları olan SQL Injection (SQLi) ve Cross-Site Scripting (XSS), veritabanınızın tamamen ele geçirilmesine, müşteri verilerinin çalınmasına veya sitenizin arama motorlarında engellenmesine neden olabilir. Güvenli bir web yazılımı geliştirmek projenin en başında ele alınmalıdır.

SQL Injection Saldırısı Nedir ve Nasıl Engellenir?

SQL Injection, kullanıcıdan alınan verilerin (form girdileri, URL parametreleri) temizlenmeden doğrudan veritabanı sorgusuna dahil edilmesi sonucu oluşur. Saldırgan, girdi alanına özel SQL komutları yazarak veritabanındaki tüm tabloları okuyabilir, silebilir veya yönetici yetkisi elde edebilir.

Prepared Statements (Hazırlıklı Cümleler) Kullanımı

PHP projelerinde SQL Injection açığını %100 engellemenin yolu PDO Prepared Statements kullanmaktır. Bu yöntemde veritabanı sorgusu ile kullanıcıdan gelen veri birbirinden tamamen ayrılır ve veri sadece bir parametre olarak işlenir.

// GÜVENLİ PDO KOD ÖRNEĞİ
$stmt = $db->prepare("SELECT * FROM users WHERE email = :email AND status = :status");
$stmt->execute([
    'email'  => $userEmail,
    'status' => 'active'
]);
$user = $stmt->fetch();

Cross-Site Scripting (XSS) Saldırılarını Önleme

XSS saldırıları, kötü niyetli kişilerin sitenizin yorum alanlarına, arama kutularına veya iletişim formlarına zararlı JavaScript kodları enjekte etmesiyle gerçekleşir. Bu kodlar diğer kullanıcılar sayfayı ziyaret ettiğinde çalışır ve oturum çerezlerini (cookie) çalarak hesapların ele geçirilmesine yol açar.

Kullanıcı Girdilerini Temizleme (Sanitization & Escaping)

XSS kalkanı oluşturmak için ekrana basılan tüm kullanıcı girdileri `htmlspecialchars()` veya `strip_tags()` fonksiyonlarından geçirilmelidir. Böylece HTML etiketleri düz metin olarak işlenir ve JavaScript kodlarının çalışması engellenir.

// XSS KORUMALI EKRANA BASMA
echo htmlspecialchars($userInput, ENT_QUOTES, 'UTF-8');

CSRF (Cross-Site Request Forgery) Saldırılarına Karşı Önlem

CSRF saldırıları, oturum açmış bir kullanıcının haberi olmadan kendi yetkileriyle arka planda istek atmasını sağlar (örneğin şifre değiştirme veya para transferi). Bu durumu engellemek için her forma benzersiz bir `CSRF Token` eklenmeli ve POST işleminde doğrulama yapılmalıdır.

Güvenlik Başlıkları (Security Headers) ve SSL

Sunucu düzeyinde güvenlik sağlamak için `.htaccess` veya Nginx konfigürasyonunuza `Content-Security-Policy (CSP)`, `X-Frame-Options` ve `X-XSS-Protection` güvenlik başlıklarını ekleyin. Ayrıca tüm veri trafiğini SSL sertifikası ile şifreleyerek Man-in-the-Middle saldırılarını engelleyin.

Güvenli, sızdırmaz ve uluslararası yazılım standartlarında projeler inşa etmek için Kod Uzmanı Web Güvenlik hizmetlerimizden yararlanabilirsiniz.

Bu konu için destek

Web projenizi birlikte değerlendirelim

Hız, güvenlik ve dönüşüm hedeflerinize uygun yalın bir yol haritası çıkaralım.

Projenizi Konuşalım →
Rehberi paylaş: WhatsApp X LinkedIn
Yazar

Ahmet Yılmaz — Kod Uzmanı

Web geliştirme, PHP, performans optimizasyonu ve mobil uygulama geliştirme alanlarında çalışan yazılım geliştirici.

Yazar ve editoryal yaklaşım →

💬 Yorumlar 0

Düşüncelerinizi Paylaşın

E-posta adresiniz sitede yayınlanmaz.

Bu rehber için henüz onaylanmış yorum yok.

Teknik kontrol

İçerik standardımız

  • • Son güncelleme tarihi görünür
  • • Mutlak SEO vaatlerinden kaçınılır
  • • Uygulanabilir teknik sınırlar açıklanır
Kod Uzmanı Ajans

Web siteniz gerçekten iş üretiyor mu?

Hız, teknik SEO ve dönüşüm darboğazlarını birlikte inceleyelim; yalnızca ihtiyaç duyduğunuz çözümü planlayalım.

Projenizi Konuşalım →