Ulu Önder Mustafa Kemal Atatürk'ü aramızdan ayrılışının 88. yılında saygı, minnet ve özlemle anıyoruz.

Web sitende güvenlik başlıkları: CSP, HSTS ve diğerleri

kaan.yildiz Mid 2 saat önce · 0 görüntülenme

HTTP güvenlik başlıkları, sunucunun tarayıcıya "bu siteyi nasıl korumalısın" diye verdiği talimatlardır. Kod değiştirmeden birçok saldırının etkisini azaltırlar. Sitenin başlıklarını tarayıcının geliştirici araçlarında, Ağ (Network) sekmesinde ilk isteğe tıklayarak görebilirsin.

Strict-Transport-Security (HSTS)

Strict-Transport-Security: max-age=31536000

Tarayıcıya "bu siteye bir yıl boyunca sadece HTTPS ile bağlan" der. HTTP'ye düşürme saldırılarını engeller.

Dikkat: includeSubDomains eklersen bütün alt alan adların HTTPS desteklemek zorunda kalır. HTTPS'i olmayan eski bir alt alan adın varsa erişilemez olur. Önce kısa bir max-age ile dene.

Content-Security-Policy (CSP)

En güçlü ama en dikkat isteyen başlık. Sayfada hangi kaynaklardan betik, stil, görsel ve çerçeve yüklenebileceğini belirler. Bir XSS açığı olsa bile saldırganın betiği çalışmaz.

Content-Security-Policy: default-src 'self'; script-src 'self' 'nonce-RASTGELE'; object-src 'none'; base-uri 'self'; frame-ancestors 'self'
  • nonce: Her istekte yeni üretilen rastgele değer. Sadece bu değeri taşıyan satır içi <script> çalışır.
  • 'unsafe-inline' betiklerde kullanma: CSP'nin koruduğu şeyi büyük ölçüde iptal eder.
  • onclick="..." gibi satır içi olay tanımları nonce ile çalışmaz. Bunları JavaScript dosyasına addEventListener ile taşı.
  • Önce Content-Security-Policy-Report-Only ile yayınla. Tarayıcı engellemez, sadece konsolda ihlalleri gösterir. Analiz, reklam, bot koruması gibi dış servislerin hangi adresleri kullandığını böyle görürsün.

Diğer başlıklar

Başlık Önerilen değer Ne işe yarar
X-Content-Type-Options nosniff Tarayıcının dosya türünü tahmin etmesini engeller
X-Frame-Options SAMEORIGIN Siten başka sitelerde çerçeve içinde açılamaz (clickjacking)
Referrer-Policy strict-origin-when-cross-origin Dış sitelere tam adres yerine sadece alan adı gider
Permissions-Policy camera=(), microphone=(), geolocation=() Kullanmadığın tarayıcı özelliklerini kapatır

CSP'de frame-ancestors tanımlıysa modern tarayıcılar onu X-Frame-Options yerine kullanır, ama eski tarayıcılar için ikisini birlikte göndermek zararsızdır.

Çerez bayrakları

Oturum çerezlerinde şu üçü olmalı:

  • Secure: Sadece HTTPS üzerinden gönderilir.
  • HttpOnly: JavaScript okuyamaz.
  • SameSite=Lax (veya Strict): Başka sitelerden gelen isteklerde gönderilmez, CSRF riskini azaltır.

Nereye eklenir?

Web sunucusunda (Nginx'te add_header ... always;) ya da uygulamanın yanıt katmanında. CSP nonce'u her istekte değiştiği için uygulama tarafında üretmek gerekir. Ekledikten sonra sitenin her sayfa türünü (giriş, form, ödeme, yönetim paneli) tarayıcı konsolu açıkken gez ve hata olup olmadığına bak.

0

0 cevap

Henüz cevap yok. İlk cevabı sen yaz.

Cevap yaz

Cevap yazmak için giriş yapmalısın.

Konu bilgisi
  • Açılış10.11.2026
  • Son etkinlik1 saat önce
  • Cevap0
  • Görüntülenme0
  • Beğeni0
Yeni konu aç