CodeBlanks Logo Icon CodeBlanks

CSP temelleri

JavaScript kursu · Uzman · Ders 27/63

Content Security Policy ile hangi kaynaklardan script çalışabileceğini sınırlamayı öğrenirsin.

CSP nedir?

Content Security Policy (CSP), tarayıcıya hangi kaynakların yüklenip çalıştırılabileceğini söyleyen bir güvenlik katmanıdır. Bir HTTP yanıtı başlığı veya meta etiketi ile ayarlanır.

CSP, XSS saldırılarının etkisini büyük ölçüde azaltır. default-src 'self' ilkesi yalnızca aynı kökenden gelen kaynaklara izin verir; satır içi script ve uzak kaynaklar varsayılan olarak engellenir.

Nonce ile seçici izin

Bir nonce, her istekte değişen rastgele bir sayıdır ve tek bir script etiketine izin verir. CSP başlığında script-src 'nonce-rastgele' yazılır; etiket de nonce özniteliğiyle aynı değeri taşımalıdır.

Böylece saldırganın enjekte ettiği script, doğru nonce'u bilemediği için çalışmaz. Nonce, satır içi script'lere seçici izin vermenin güvenli yoludur.

Uygulama Script'e nonce ekle

addNonce fonksiyonu yaz, parametre script ve nonce. script.nonce = nonce ile nonce değerini ata. Sonra document.head.appendChild(script) ile head'e ekle.

Örnek çözümü göster
Önce fonksiyonu tanımla, sonra script.nonce'a değeri ata, son olarak head'e ekle.
Örnek çözüm:
function addNonce(script, nonce) {
  script.nonce = nonce;
  document.head.appendChild(script);
}

Kendini test et

  1. Hangi CSP direktifi yalnızca aynı kökenden script yüklemeye izin verir?

    • script-src 'unsafe-inline'
    • script-src 'self'
    • script-src '*'
    • default-src 'unsafe-eval'
    Cevabı göster

    script-src 'self' — Doğru! script-src 'self' yalnızca aynı kökenden script yüklemeye izin verir.

  2. CSP ilkesini tamamla

    const policy = "default-src ____";
    Cevabı göster
    const policy = "default-src 'self'";
  3. CSP direktiflerini eşleştir

    default-src
    genel varsayılan
    script-src
    script kaynakları
    style-src
    stil kaynakları
    img-src
    görsel kaynakları

Uzman bölümündeki tüm dersler