Vue Academy · Ders

Vue ile İçerik Güvenlik Politikası (CSP)

CSP başlıkları, nonce tabanlı betikler, hash tabanlı politikalar ve Vite CSP yapılandırması.

2. ders / 413 adım

Vue ile İçerik Güvenlik Politikası (CSP), CoddyKit'te ücretsiz bir Vue Academy dersidir. Bu, 4 dersinin 2. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Vue Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Vue Academy kursu toplamda 4 dersten oluşur.

CSP Nedir

İçerik Güvenliği Politikası, tarayıcıya hangi betik, stil, görsel ve bağlantı kaynaklarına izin verildiğini bildiren bir HTTP yanıt üst bilgisidir. XSS'e karşı güçlü bir ikinci savunma hattıdır; enjekte edilen betiklerin kaynağına izin verilmemişse bu betikler engellenir.

Üst Bilgi

CSP, Content-Security-Policy yanıt üst bilgisi aracılığıyla iletilir. Her yönerge, bir kaynak türü için izin verilen kaynakları listeler.

Content-Security-Policy: default-src 'self'; script-src 'self';

Beti̇k Kaynaklarını Kısıtlama

script-src yönergesi, betiklerin nereden yüklenebileceğini denetler. Bunu 'self' ile sınırlamak, saldırganın enjekte edebileceği satır içi ve üçüncü taraf betiklerini engeller.

Content-Security-Policy: script-src 'self' https://cdn.trusted.com;

unsafe-inline Kullanımından Kaçınma

'unsafe-inline', satır içi betiklere ve olay işleyicisi özniteliklerine izin verir; bunlar XSS saldırılarının tam olarak yararlandığı şeylerdir. Güçlü bir politika bunu dışarıda bırakır, böylece enjekte edilen satır içi kod çalışmaz.

unsafe-eval Kullanımından Kaçınma

'unsafe-eval', eval ve Function oluşturucusuna izin verir. Vue 3 çalışma zamanı derlemesi buna ihtiyaç duymaz (şablonlar önceden derlenir); bu nedenle bunu dışarıda bırakabilirsiniz ve bırakmalısınız.

Nonce Tabanlı Satır İçi Betikler

Gerçekten bir satır içi betiğe ihtiyaç duyduğunuzda, betiğe yanıt başına rastgele bir nonce verin ve bu nonce'u politikada listeleyin. Yalnızca eşleşen nonce'u taşıyan betikler çalışır.

<!-- header includes: script-src 'nonce-abc123' -->
<script nonce="abc123">
  // allowed because nonce matches
</script>

Nonce'lar unsafe-inline'dan Neden Daha Güvenlidir

Nonce tahmin edilemez ve her yanıtta değişir; bu nedenle betik enjekte eden bir saldırgan nonce'u tahmin edemez. Böylece unsafe-inline kullanımının genel riskini almadan satır içi betikler çalışmaya devam eder.

CSP ve Vue Stilleri

Vue ve birçok kullanıcı arayüzü kitaplığı, çalışma zamanında stiller ekler. Bunlara style-src içinde nonce veya özet kullanarak izin verin ya da CSS'yi dosyalara çıkarın; böylece style-src 'self' yeterli olur.

Content-Security-Policy: style-src 'self';

Geliştirme için Vite CSP Nonce Eklentisi

Vite'ın geliştirme sunucusu betikler ekler ve bu betikler katı CSP ile çakışabilir. Bir CSP nonce eklentisi, geliştirme sırasında Vite tarafından eklenen etiketlere eşleşen bir nonce işler.

// vite.config.ts
import { defineConfig } from "vite";

export default defineConfig({
  html: {
    cspNonce: "DEV_NONCE"
  }
});

API'ler için connect-src

Enjekte edilen kodun verileri saldırganın denetlediği bir alana sızdıramaması için uygulamanın hangi kaynaklara getirme isteği gönderebileceğini connect-src ile kısıtlayın.

Content-Security-Policy: connect-src 'self' https://api.example.com;

Yalnızca Raporlama Modu

CSP'yi Content-Security-Policy-Report-Only ile güvenli biçimde kullanıma alın. Bu yönerge ihlalleri engellemeden raporlar; böylece politikayı zorunlu kılmadan önce ayarlayabilirsiniz.

Content-Security-Policy-Report-Only: default-src 'self'; report-uri /csp-report;

Hızlı Kontrol

XSS korumasını güçlü tutmak için hangi CSP yönergesi değerinden kaçınmalısınız?

Özet

CSP, izin verilen betik, stil ve bağlantı kaynaklarını kısıtlayan bir HTTP üst bilgisidir; XSS saldırısı araya girse bile enjekte edilen kodu engeller. unsafe-inline ve unsafe-eval kullanmaktan kaçının; gerekli satır içi betikler için yanıt başına nonce'lar ve geliştirme sırasında bir Vite CSP nonce eklentisi kullanın. Zorunlu kılmadan önce Yalnızca Raporlama moduyla kullanıma alın.

Başlamak ücretsiz

Yapay zeka eğitmeniyle HTML öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
42
Dersler
156

Sıkça Sorulan Sorular

“Vue ile İçerik Güvenlik Politikası (CSP)” dersi ücretsiz mi?

Evet — “Vue ile İçerik Güvenlik Politikası (CSP)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Vue Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Vue Academy kursu toplamda 4 dersten oluşur.

“Vue ile İçerik Güvenlik Politikası (CSP)” dersinde ne öğreneceğim?

CSP başlıkları, nonce tabanlı betikler, hash tabanlı politikalar ve Vite CSP yapılandırması. Vue Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Vue Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Vue Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 2. dersidir.

“Vue ile İçerik Güvenlik Politikası (CSP)” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Vue Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Vue Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Vue'da XSS Önleme
  2. Vue ile İçerik Güvenlik Politikası (CSP)
  3. Vue SPA'lerinde CSRF Koruması
  4. Güvenli Kimlik Doğrulama Kalıpları
← Vue Academy Sayfasına Dön