CodeBlanks Logo Icon CodeBlanks

CSP meta

HTML kursu · Uzman · Ders 26/39

<meta http-equiv="Content-Security-Policy"> temel kullanımını öğrenirsin.

Content-Security-Policy nedir?

Content-Security-Policy (CSP), tarayıcıya sayfanın hangi kaynaktan betik, görsel ve stil yükleyebileceğini söyler. Kötü amaçlı bir kod sayfaya enjekte edilse bile CSP, izin verilmeyen kaynaktan yüklenmesini engeller.

CSP bir HTTP başlığı olarak gönderilebileceği gibi meta etiketiyle HTML içine de yazılabilir. Bu projede meta yöntemini kullanacağız.

CSP'nin özü, default-src, img-src, style-src gibi yönerge listesidir.

meta http-equiv ile CSP ekle

CSP'yi HTML'ye eklemek için meta etiketinde http-equiv="Content-Security-Policy" yazılır. content özniteliği yönerge listesini taşır.

Örnek: <meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' data:;">

Burada default-src 'self' tüm kaynakların yalnızca aynı kökenden gelmesini söyler. 'self' tek tırnak içinde yazılmalı; tırnaksız self yanlış yorumlanır.

Uygulama CSP meta etiketini head'e ekle

Önceki dersin sayfasını al. <head> içine, viewport'tan sonra, bir CSP meta etiketi ekle:

  • http-equiv="Content-Security-Policy"
  • content içinde: default-src 'self', img-src 'self' data: ve style-src 'self' 'unsafe-inline'

'self' değerleri tek tırnakta olmalı.

Örnek çözümü göster
<!DOCTYPE html>
<html lang="tr">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'">
    <title>Güvenli Bank - Giriş</title>
  </head>
  <body>
    <h1>Güvenli Bank</h1>
    <p>Lütfen kullanıcı kodunuzla giriş yapınız.</p>
    <p><a href="https://yardim.guvenlibank.example/oturum-acma" target="_blank" rel="noopener noreferrer">Yardım merkezi</a></p>
  </body>
</html>

Kendini test et

  1. CSP hangi güvenlik tehdidini azaltır?

    • Sayfa açılış hızını ölçer
    • Zararlı kaynaktan betik yüklenmesini engeller
    • Sayfanın renk paletini belirler
    • Bağlantıların yeni sekmede açılmasını sağlar
    Cevabı göster

    Zararlı kaynaktan betik yüklenmesini engeller — Doğru. CSP, izin verilmeyen kaynaktan betik ve kaynak yüklenmesini engeller.

  2. default-src değerini tamamla

    <meta http-equiv="Content-Security-Policy" content="default-src ____; img-src 'self' data:; style-src 'self' 'unsafe-inline'">
    Cevabı göster
    <meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' data:; style-src 'self' 'unsafe-inline'">
  3. CSP directive'i anlamıyla eşleştir

    default-src
    tüm kaynaklar için öntanımlı
    img-src
    görsel kaynakları
    style-src
    stil kaynakları
    script-src
    betik kaynakları

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