Web güvenliği neden katmanlı düşünülmeli?


Bir web sitesini güvenli hale getirmek tek bir eklenti, tek bir ayar veya tek bir kural ile bitmez. Gerçek güvenlik; kullanıcı girişinden veritabanına, admin panelinden dosya yükleme alanına kadar her noktada küçük ama doğru kontrollerin birleşmesiyle oluşur.



1. Kimlik doğrulama ve oturum güvenliği


Kullanıcı giriş sistemi güvenliğin ilk kapısıdır. Güçlü parola politikası, güvenli session cookie ayarları, oturum zaman aşımı, rol bazlı erişim ve şifre değiştirme akışları düzgün kurulmalıdır. Admin paneli gibi hassas alanlarda sadece giriş kontrolü yetmez; kullanıcının rolü de her kritik işlemde tekrar kontrol edilmelidir.



2. Yetkilendirme kontrolleri


Bir kullanıcının giriş yapmış olması her sayfaya erişebileceği anlamına gelmez. Admin, superadmin ve normal kullanıcı rolleri ayrı tutulmalıdır. Özellikle kullanıcı yönetimi, blog ekleme, proje düzenleme, WAF ayarı değiştirme ve log görüntüleme gibi sayfalar sadece yetkili rollere açılmalıdır.



3. Input doğrulama ve output encode


Formlardan gelen tüm veriler beklenen tipe, uzunluğa ve formata göre kontrol edilmelidir. SQL sorgularında prepared statement kullanmak SQL Injection riskini ciddi şekilde azaltır. Sayfaya basılan kullanıcı verilerinde ise htmlspecialchars gibi encode yöntemleri XSS riskini düşürür.



4. CSRF koruması


Silme, güncelleme, ayar değiştirme, mesaj gönderme veya dosya yükleme gibi işlemlerde CSRF token kullanılmalıdır. Token kontrolü olmayan formlar, kullanıcının haberi olmadan işlem yaptırmaya açık hale gelir.



5. Dosya yükleme güvenliği


Dosya yükleme alanları en riskli bölümlerden biridir. Sadece uzantıya bakmak yeterli değildir; MIME tipi kontrol edilmeli, dosyalar rastgele isimle kaydedilmeli, upload klasöründe PHP çalışması engellenmeli ve dosya boyutu sınırlandırılmalıdır.



6. WAF ve loglama


WAF, şüpheli istekleri erkenden yakalamak için faydalı bir katmandır; fakat uygulama içi güvenli kodlamanın yerine geçmez. WAF logları; IP, istek yolu, risk skoru, eşleşen kural ve kullanıcı ajanı gibi verileri tutarak olay incelemesini kolaylaştırır.



7. Güvenli geliştirme alışkanlığı


Profesyonel güvenlik, sürekli kontrol edilen bir süreçtir. Yeni form eklendiğinde CSRF var mı, yeni admin sayfasında rol kontrolü var mı, yeni dosya alanında upload kısıtları var mı diye düzenli bakmak gerekir. Güvenlik tek seferlik değil, proje boyunca devam eden bir disiplindir.