CodeBlanks Logo Icon CodeBlanks

Meydan okuma - Güvenlik paketi

HTML kursu · Uzman · Ders 38/39

CSP, referrer policy ve noopener içeren güvenli bir sayfa yazarsın.

Güvenlik başlığı paketi

Web güvenliğinin temel HTML katmanı üç öğeden oluşur. <meta http-equiv="Content-Security-Policy" content="..."> dış kaynak kısıtlarını bildirir; hangi betik ve stillerin yüklenebileceğini sınırlar. <meta name="referrer" content="..."> dış bağlantılardan gelen yönlendiren bilgisini denetler.

Dış bağlantılarda target="_blank" kullanılıyorsa rel="noopener noreferrer" eklenmeli; bu, yeni sekmenin opener nesnesine erişip sayfayı değiştirmesini ve yönlendiren bilgisini sızdırmasını engeller. Bu küçük paket tutarlı bir güvenlik zemini kurar.

Uygulama Güvenlik paketini yaz

Güvenli bir sayfa iskeleti yaz. head içine charset meta (charset="utf-8"), viewport meta (name="viewport"), CSP meta (http-equiv="Content-Security-Policy") ve referrer meta (name="referrer") ekle. body içine target="_blank" ile açılan ve rel="noopener noreferrer" içeren bir dış bağlantı koy.

Örnek çözümü göster
head'de dört meta, body'de bir güvenli dış bağlantı olmalı.

Örnek çözüm:
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="Content-Security-Policy" content="default-src 'self'">
  <meta name="referrer" content="no-referrer">
  <title>Güvenli Sayfa</title>
</head>
<body>
  <a href="https://site.example" target="_blank" rel="noopener noreferrer">Dış bağlantı</a>
</body>

Kendini test et

  1. Hangi meta etiketi CSP bildirir?

    • <meta name="csp" content="...">
    • <meta http-equiv="Content-Security-Policy" content="...">
    • <meta charset="csp">
    • <meta rel="csp">
    Cevabı göster

    <meta http-equiv="Content-Security-Policy" content="..."> — Doğru. CSP, http-equiv="Content-Security-Policy" ile bildirilir.

  2. Dış bağlantıyı güvenli yap

    <a href="https://site.example" target="_blank" ____>Dış bağlantı</a>
    Cevabı göster
    <a href="https://site.example" target="_blank" rel="noopener noreferrer">Dış bağlantı</a>
  3. Güvenlik kavramlarını eşleştir

    Content-Security-Policy
    Dış kaynak kısıtları
    name="referrer"
    Yönlendiren bilgi kısıtı
    noopener
    Opener erişimini engeller
    noreferrer
    Yönlendiren bilgisini gizler
  4. target="_blank" bağlantıyı güvenli yapmak için ne eklenmeli?

    • Sadece rel="noopener" yeter
    • crossorigin özniteliği
    • download özniteliği
    • rel="noopener noreferrer"
    Cevabı göster

    rel="noopener noreferrer" — Doğru. noopener opener'ı, noreferrer yönlendiren bilgisini birlikte keser.

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