CodeBlanks Logo Icon CodeBlanks

Security headers

PHP kursu · İleri seviye · Ders 65/92

Content-Security-Policy, X-Frame-Options ve HSTS gibi güvenlik başlıklarını öğrenirsin.

header() fonksiyonu

header() fonksiyonu ham bir HTTP başlığı gönderir. Çıktı üretmeden önce çağrılmalıdır; aksi halde "headers already sent" hatası alırsın. Güvenlik başlıkları derinlemesine savunma için önemlidir.

Üç temel başlık: Content-Security-Policy (betik kaynaklarını kısıtlar), X-Frame-Options: DENY (sayfanın iframe içinde gösterilmesini engeller, clickjacking önler), Strict-Transport-Security (HTTPS'i zorlar).

Content-Security-Policy

Content-Security-Policy (CSP) tarayıcıya hangi kaynaklardan betik, stil, görsel yüklenebileceğini söyler. default-src 'self' yönergesi yalnızca aynı kaynaktan yüklemeye izin verir; satır içi betikler ve dış sunucular engellenir.

CSP, XSS açığı olsa bile saldırının etkisini sınırlar. Örneğin saldırganın enjekte ettiği harici betik yüklenmez ve çalışmaz. Başlık header() ile gönderilir.

Uygulama Üç güvenlik başlığı gönder

Üç güvenlik başlığı gönder: Content-Security-Policy: default-src 'self', X-Frame-Options: DENY ve Strict-Transport-Security: max-age=31536000. Sonra $msg değişkenini echo ile yazdır.

Örnek çözümü göster
default-src 'self'"); yaz. header("X-Frame-Options: DENY"); ve header("Strict-Transport-Security: max-age=31536000"); ekle. Sonra echo $msg . "\n"; yazdır.
Örnek çözüm:
<?php
header("Content-Security-Policy: default-src 'self'");
header("X-Frame-Options: DENY");
header("Strict-Transport-Security: max-age=31536000");
$msg = "başlıklar gönderildi";
echo $msg . "\n";

Kendini test et

  1. Güvenlik başlıklarını eşleştir

    X-Frame-Options
    Clickjacking önler
    Content-Security-Policy
    Kaynak kısıtlar
    Strict-Transport-Security
    HTTPS zorlar
    header
    HTTP başlığı gönderir
  2. Hangi başlık clickjacking'i önler?

    • X-Frame-Options: DENY
    • Content-Type: text/html
    • Cache-Control: no-store
    • Set-Cookie: theme=dark
    Cevabı göster

    X-Frame-Options: DENY — Doğru. X-Frame-Options: DENY sayfanın iframe içinde gösterilmesini engeller.

  3. X-Frame-Options başlığını tamamla

    header(____);
    Cevabı göster
    header("X-Frame-Options: DENY");

İleri seviye bölümündeki tüm dersler