Rehber
Web formlarında güvenlik: CSRF, XSS ve spam korumasının temelleri
Bir web formu, doğru korunmadığında hem kullanıcı verisini hem de sistemi riske atabilir. OWASP'ın önerilerine dayanan temel korumalar.
Bir iletişim formu, kayıt formu veya yorum alanı, görünüşte basit bir arayüz bileşeni olsa da; doğru korunmadığında saldırganların sisteme veri enjekte etmesine, başka bir kullanıcı adına işlem yapmasına veya sistemi spam ile doldurmasına açık bir kapı olabilir.
Üç temel tehdit
CSRF (Cross-Site Request Forgery)
CSRF, bir kullanıcının oturum açmışken fark etmeden kötü niyetli bir isteği (örneğin parola değiştirme) tetiklemesine neden olan bir saldırı türüdür. OWASP'ın önerdiği temel savunma, her form gönderiminde tahmin edilemeyen, oturuma özgü bir CSRF token'ının doğrulanmasıdır — token eşleşmezse istek reddedilir.
XSS (Cross-Site Scripting)
XSS, bir formdan girilen verinin başka bir kullanıcıya işlenmemiş/temizlenmemiş halde HTML olarak gösterilmesi sonucu kötü niyetli script'in tarayıcıda çalışmasıdır. OWASP'ın XSS Prevention Cheat Sheet'ine göre temel savunma, kullanıcı girdisinin gösterileceği bağlama (HTML, HTML özniteliği, JavaScript, URL) göre doğru şekilde kaçışlanmasıdır (escaping) — tek bir genel 'temizleme' fonksiyonu her bağlam için güvenli değildir.
Spam
Spam, güvenlik açığından çok kaynak israfı ve veri kirliliği sorunudur, ancak bazen daha büyük bir saldırının (kimlik avı bağlantısı yayma) taşıyıcısı olabilir. Bot trafiğini engellemek için honeypot alanları, oran sınırlama (rate limiting) ve gerektiğinde CAPTCHA gibi katmanlar kullanılır.
Katmanlı savunma özeti
| Tehdit | Temel savunma | Ek katman |
|---|---|---|
| CSRF | Oturuma özgü, tahmin edilemeyen token doğrulama | SameSite çerez özniteliği |
| XSS | Bağlama uygun çıktı kaçışlama (output encoding) | Content Security Policy (CSP) başlığı |
| Spam | Honeypot alan + oran sınırlama | CAPTCHA (yalnızca gerektiğinde, kullanıcı deneyimini bozmadan) |
Sunucu tarafı doğrulamanın vazgeçilmezliği
İstemci tarafı (JavaScript) doğrulama yalnızca kullanıcı deneyimini iyileştirir — bir saldırgan tarayıcı doğrulamasını kolayca atlayabilir. Her formun, sunucu tarafında bağımsız ve eksiksiz bir doğrulama/temizleme adımından geçmesi, güvenliğin gerçek temelidir.
Sık yapılan hatalar
- CSRF token'ını yalnızca formda göstermek ama sunucu tarafında doğrulamamak
- Kullanıcı girdisini veritabanına kaydederken temizlemek ama ekrana basarken tekrar kaçışlamayı unutmak
- Tüm formlara ayrım gözetmeksizin CAPTCHA eklemek (dönüşüm oranını gereksiz yere düşürür)
- Dosya yükleme formlarında yalnızca dosya uzantısını kontrol edip gerçek içerik türünü doğrulamamak
Kategoriler
Etiketler
Kaynaklar
Paylaş
İlgili içerikler
Üçüncü Taraf Betiklerin Site Hızına Etkisi ve Yönetimi
Analitik, reklam ve canlı destek gibi üçüncü taraf betikler sitenizi nasıl yavaşlatabilir? Bu betikleri denetleme ve yönetme yollarını anlatıyoruz.
2 dk okuma
Yazıyı okuHTTP Güvenlik Başlıkları Nasıl Yapılandırılır?
Content-Security-Policy, Strict-Transport-Security ve X-Content-Type-Options gibi güvenlik başlıklarının ne işe yaradığını ve nasıl yapılandırılacağını anlatıyoruz.
2 dk okuma
Yazıyı okuSite Hızı İçin Görsel Optimizasyonu: WebP ve AVIF Kullanımı
Modern görsel formatlarının (WebP, AVIF) geleneksel JPEG ve PNG'ye göre sağladığı avantajları ve doğru görsel optimizasyon sürecini anlatıyoruz.
2 dk okuma
Yazıyı oku
