CSP Tam Olarak Nedir? Basit Tanım
CSP, “Content Security Policy” kelimelerinin kısaltmasıdır ve Türkçe karşılığı İçerik Güvenlik Politikasıdır.Bir web sitesinin hangi kaynaklara güveneceğini belirleyen bir güvenlik katmanıdır.
CSP şu işlemleri kontrol eder:
- Hangi JavaScript dosyalarının çalışabileceği
- Hangi sunuculardan stil, resim, font yüklenebileceği
- Hangi domain’lere istek atılabileceği
- Zararlı kodların (XSS gibi) engellenmesi
CSP Ne İşe Yarar? (Web Güvenliğindeki Rolü)
CSP’nin ana kullanım amacı web sitelerini kötü amaçlı kodlardan korumaktır.CSP'nin sağladığı temel korumalar:
- XSS (Cross-Site Scripting) saldırılarını büyük oranda engeller
- İzin verilmeyen kaynaklardan dosya yüklenmesini durdurur
- Inline script çalışmasını sınırlar
- Veri sızdırma girişimlerini filtreler
- Kullanıcı verilerini daha güvenli hale getirir
CSP Nasıl Çalışır? Mantığı Anlamak
CSP temelde tarayıcıya bir “güvenlik talimatı” göndermek gibidir.Site yöneticisi sunucuya özel bir HTTP başlığı (header) ekler:
Kod:
İçeriği sadece üyelerimiz görebilir.
Tarayıcı da buna göre çalışır. Eğer site içinde başka bir kaynaktan zararlı script yüklenmeye çalışılırsa tarayıcı bunu engeller.
CSP Direktifleri Nelerdir? (En Önemli Ayarlar)
CSP politikaları direktif adı verilen kurallardan oluşur. İşte en yaygın kullanılanlar:
default-src
Varsayılan kaynakları belirler.
script-src
Hangi JavaScript dosyalarının çalışabileceğini belirler.
style-src
CSS ve stil dosyalarının hangi kaynaklardan yüklenebileceğini tanımlar.
img-src
Resimlerin hangi domain’lerden çekilebileceğini belirler.
font-src
Yazı tiplerinin güvenilir kaynaklarını belirler.
connect-src
fetch, AJAX, WebSocket gibi bağlantıların nereye yapılabileceğini belirler.
frame-src
iFrame içeriği hangi sitelerden alınabilir, onu tanımlar.CSP Neden Önemlidir?
Web sitelerinin güvenliğini artırmak için CSP çok kritik bir rol oynar.CSP'nin önemini belirleyen durumlar:
- Zararlı reklam scriptlerini engeller
- Form verilerinin çalınmasını önler
- Kullanıcı oturumlarının ele geçirilme riskini azaltır
- Saldırganların bir siteyi manipüle etmesini zorlaştırır
CSP Örnekleri (Gerçek Kullanım Senaryoları)
Standart güvenlik politikası:
Kod:
İçeriği sadece üyelerimiz görebilir.
Google Analytics, font ve CDN kullanımına izin veren örnek:
Kod:
İçeriği sadece üyelerimiz görebilir.
Inline script engelleyen örnek:
Kod:
İçeriği sadece üyelerimiz görebilir.
CSP'nin Avantaj ve Dezavantajları
Aşağıdaki tablo CSP kullanımını daha iyi anlaman için sade bir özet sunar:| Özellik | Açıklama | Etki |
|---|---|---|
| Güvenlik | XSS ve zararlı script engelleme | Çok yüksek |
| Performans | Fazladan işlem gerektirmez | Etkisi yok |
| Uyumluluk | Eski tarayıcılarda sınırlamalar olabilir | Orta |
| Kurulum Zorluğu | Yanlış yapılandırılırsa bazı kaynaklar yüklenmez | Orta |
| Kontrol | İzinsiz hiçbir kaynağa erişim olmaz | Çok yüksek |
CSP Uygularken Dikkat Edilmesi Gerekenler
Bazı geliştirme hataları sitenin doğru çalışmasını engelleyebilir. Bu yüzden CSP uygularken dikkatli olmak gerekir.Dikkat edilmesi gereken kritik noktalar:
- Gereksiz domain'leri beyaz listeye alma
- Inline script kullanımından kaçınma
- Test ortamında rapor modunu aktif etme
- Google Analytics / Adsense gibi servisler için özel izinler ekleme
- CDN kaynaklarını doğru tanımlama
Raporlama Modu (Report-Only) Nedir?
CSP’yi direkt uygulamak yerine önce test ederek hata almak mümkündür.Örnek:
Kod:
İçeriği sadece üyelerimiz görebilir.
Gerçek uygulamaya geçmeden önce test için idealdir.
CSP’nin SEO’ya Etkisi Var mı?
CSP doğrudan SEO’yu etkilemez fakat dolaylı olarak:- Güvenlik açıklarını kapatır
- Kullanıcı güvenini artırır
- Web sitenin tarayıcı uyumluluğunu geliştirir
- Google tarafından güvenli site olarak algılanır