İnternetin kullanımı ve web uygulamalarının gelişimiyle birlikte, güvenlik endişeleri de artmaktadır. Web siteleri ve uygulamaları, kullanıcıların bilgilerini korumak ve kötü niyetli saldırılara karşı savunmak için çeşitli güvenlik önlemleri almak zorundadır. Bu önlemlerden biri de Content Security Policy (CSP) olarak bilinir. Content Security Policy (CSP), bir web sitesinin veya uygulamasının hangi kaynakların (örneğin, JavaScript, CSS, görüntüler) yüklenmesine izin verildiğini belirleyen bir güvenlik politikasıdır. CSP, bir web sitesinin potansiyel olarak zararlı kaynakların yüklenmesini engelleyerek XSS (Cross-Site Scripting) gibi saldırılara karşı korunmasına yardımcı olur.
CSP, web geliştiricilerin belirli kaynakları veya alanları tanımlamalarını sağlayan bir dizi direktif ve politika kullanır. Bu politikalar, HTTP başlıkları veya meta etiketleri aracılığıyla web tarayıcılarına iletilir. Tarayıcılar, bu politikalara uygun olarak sayfanın nasıl işleneceğini belirler.
Örneğin, bir CSP politikası, yalnızca belirli bir alan adından JavaScript dosyalarının yüklenmesine izin verebilir veya içeriklerini doğrulamak için yalnızca HTTPS protokolünü gerektirebilir.
CSP, yalnızca belirli kaynakların yüklenmesine izin vererek XSS saldırılarını engeller. Örneğin, bir CSP politikası aşağıdaki gibi olabilir
Content-Security-Policy: default-src 'self' https://example.com;
Bu politika, yalnızca kendi alan adına ('self') ve https://example.com alan adından kaynakların yüklenmesine izin verir. Diğer tüm kaynaklar engellenir.
CSP ayrıca, inline JavaScript ve CSS kullanımını engelleyerek XSS saldırılarını azaltır.
Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-inline';
Bu politika, inline JavaScript kullanımını engellemektedir ('unsafe-inline'). Bu, web geliştiricilerin JavaScript kodunu HTML belgesinin içine gömmesini önler ve potansiyel XSS zafiyetlerini azaltır.