Web Güvenliği (Cyber Security) Temelleri

Dijital dünyada bir web sitesi yayınlamak, onu tüm dünyaya açmak demektir; buna kötü niyetli saldırganlar da dahildir. Web güvenliği, sadece bir "ek özellik" değil, projenizin temel iskeletidir. Güvenlik, kod yazım aşamasında (Security by Design) başlar.

Temel İlke: Asla Kullanıcıya Güvenme!

Dışarıdan (formlar, URL parametreleri, çerezler) gelen her türlü veri potansiyel bir tehdittir. Bu verileri veritabanına kaydetmeden veya ekrana yazdırmadan önce mutlaka temizlemeli (sanitize) ve doğrulamalısınız (validate).

1) En Yaygın Güvenlik Açıkları (OWASP Top 10)

Dünya genelinde web uygulamalarını hedef alan en kritik açıklar şunlardır:

A) SQL Injection (SQLi)

Saldırganın, girdi alanlarına SQL komutları enjekte ederek veritabanınıza sızmasıdır. Kullanıcı adlarını veya tüm tabloyu bu yolla ele geçirebilirler.

Hatalı: $sql = "SELECT * FROM users WHERE id = " . $_GET['id'];
Güvenli: Prepared Statements (Hazırlanmış İfadeler) kullanın.

B) Cross-Site Scripting (XSS)

Kötü niyetli bir JavaScript kodunun, başka bir kullanıcının tarayıcısında çalıştırılmasıdır. Çerez (Cookie) hırsızlığına yol açar.

Çözüm: Veriyi ekrana basarken HTML karakterlerini kaçırın (Encoding).
echo htmlspecialchars($input, ENT_QUOTES, 'UTF-8');

2) Güvenlik İçin Altın Kurallar

Kategori Önlem
HTTPS / SSL Verileri şifreleyerek aktarın. SSL sertifikası olmayan siteler "Güvensiz" işaretlenir.
Şifreleme Şifreleri asla düz metin (plaintext) olarak saklamayın. bcrypt veya Argon2 kullanın.
Hata Mesajları Hata mesajlarında dosya yolu veya veritabanı yapısı gibi teknik detayları kullanıcıya göstermeyin.
Session Yönetimi Çerezlerinize HttpOnly ve Secure bayraklarını ekleyerek JS erişimini kısıtlayın.

3) Modern Güvenlik Başlıkları (HTTP Headers)

Sitenizin güvenliğini tarayıcı seviyesinde artırmak için şu başlıkları eklemeyi unutmayın:

  • Content-Security-Policy (CSP): Hangi kaynaklardan script yüklenebileceğini kısıtlar.
  • X-Frame-Options: Sitenizin başka bir site içinde (iframe) gösterilmesini engelleyerek Clickjacking saldırılarını önler.
  • Strict-Transport-Security (HSTS): Sitenin her zaman HTTPS üzerinden açılmasını zorunlu kılar.
💡 2026 Trendi: Artık yapay zeka destekli WAF (Web Application Firewall) sistemleri, saldırıları gerçek zamanlı analiz ederek otomatik olarak engellemektedir. Bireysel projelerinizde bile Cloudflare gibi servislerin ücretsiz koruma katmanlarını kullanmanız önerilir.

Özet

  • Güvenlik bir varış noktası değil, sürekli bir süreçtir.
  • Hazır kütüphaneler ve framework'ler kullanın; güvenlik açıklarının çoğu "tekerleği yeniden icat ederken" oluşur.
  • Sistemlerinizi ve sunucu yazılımlarınızı her zaman güncel tutun.