CSP meta
<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:vestyle-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
-
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.
-
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'"> -
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ı