Güvenlik üstbilgileri hızlı başvuru

Sitenizin güvenliğini sağlayabilecek ve en önemli ayrıntıları hızlı bir şekilde arayabilecek başlıklar hakkında daha fazla bilgi edinin.

Bu makalede, hesabınızı korumak için kullanabileceğiniz en önemli güvenlik başlıkları sitenizi ziyaret edin. Web tabanlı güvenlik özelliklerini anlamak için kullanın, web sitenize uygulayabilir ve hatırlatmaya ihtiyaç duyduğunuz zamanlar için referans olarak kullanabilir.

Hassas kullanıcı verilerini işleyen web siteleri için önerilen güvenlik üstbilgileri:
İçerik Güvenliği Politikası (İGP)
Güvenilir Türler
Tüm web siteleri için önerilen güvenlik başlıkları:
X-Content-Type-Options
X-Frame-Options
Kaynaklar Arası Kaynak Politikası (CORP)
Kaynaklar Arası Açılış Politikası (COOP)
HTTP Katı Taşıma Güvenliği (HSTS)
Gelişmiş özelliklere sahip web siteleri için güvenlik üstbilgileri:
Kaynaklar Arası Kaynak Paylaşımı (CORS)
Kaynaklar Arası Yerleştirme Politikası (COEP)
Web'deki bilinen tehditler
Güvenlik üstbilgilerine geçmeden önce web'deki bilinen tehditler hakkında bilgi edinin ve bu güvenlik üstbilgilerini neden kullanmak istediğinize karar verin.

Güvenlik üstbilgilerine geçmeden önce web'deki bilinen tehditler hakkında bilgi edinin ve bu güvenlik üstbilgilerini neden kullanmak istediğinize karar verin.

Sitenizi yerleştirme güvenlik açıklarına karşı koruyun

ve bunun sonucunda genellikle uygulama saldırıya uğrayan uygulamalardır. Yerleştirmeden kaynaklanan en yaygın güvenlik açığı hatalar siteler arası komut dosyası çalıştırma (XSS) yansıtılmış reklam öğeleri de dahil olmak üzere XSS depolanan XSS DOM tabanlı XSS ve diğer varyantlar için de geçerli.

XSS güvenlik açığı, genellikle saldırganlara kullanıcı verilerine tam erişim verebilir. uygulama tarafından işlenen ve aynı web'de barındırılan diğer tüm bilgiler kaynak.

Yerleştirmeye karşı geleneksel savunmalarda tutarlı otomatik çıkış kullanılır. tehlikeli JavaScript kullanımından kaçınarak HTML şablon sistemleri API'ler ve barındırma yoluyla kullanıcı verilerini düzgün bir şekilde işleme kullanıcı tarafından denetlenen HTML'yi arındıran bir dosya yükleyin.

  • Hangi komut dosyalarının verilebileceğini kontrol etmek için İçerik Güvenliği Politikası'nı (İGP) enjeksiyon riskini azaltmak için uygulamanız tarafından yürütülür.
  • Tehlikeli içeriklere aktarılan verilerin arındırılmasını zorunlu kılmak için Güvenilir Türler'i kullanın JavaScript API'leri.
  • Tarayıcının şunları yapmasını engellemek için X-Content-Type-Options öğesini kullanın: Web sitenizin kaynaklarının MIME türlerini yanlış yorumlamak yardımcı olur.

Sitenizi diğer web sitelerinden izole etme

Web'in açıklığı, web sitelerinin birbiriyle sizin için uygun şekillerde etkileşim kurmasına olanak tanır. uygulamanın güvenlik beklentilerini ihlal edebilir. Bu, beklenmedik bir şekilde veya başka bir uygulamadan kimlik doğrulaması yapılmış isteklerde bulunmak ya da saldırganın uygulama verilerini değiştirmesine veya okumasına olanak tanıyan bir dokümandır.

Web izolasyonunu olumsuz etkileyen yaygın güvenlik açıkları şunlardır: tıklama korsanlığı, siteler arası sahtecilik isteği (CSRF), siteler arası komut dosyası dahil etme (XSSI) ve çeşitli siteler arası veri sızıntıları.

Post-Spectre Web Geliştirme bölümü, bu başlıklarla ilgileniyorsanız.

Güvenli bir şekilde güçlü bir web sitesi oluşturun

Spectre, yüklenen tüm verileri yerleştirir okunabilir olabilecek şekilde aynı tarama bağlam grubuna aynı kaynak politikasına rağmen Tarayıcılar özellikleri kısıtlar güvenlik açığını istismar edebilecek bir program hazırlayıp "çapraz kaynak izolasyonu". Kökler arası erişime kapalı web siteleri ile SharedArrayBuffer gibi güçlü özellikleri kullanın.

Sitenize gelen trafiği şifreleyin

Şifreleme sorunları, bir uygulama Google Cloud'da verileri tam olarak şifrelemediğinde gizlice izleyen saldırganların, kullanıcı etkileşimleri hakkında bilgi sahibi olmasını sağlar. göstermeniz gerekir.

Yetersiz şifreleme şu durumlarda ortaya çıkabilir: HTTPS kullanılmadığında, karma içerik, Secure olmadan çerezleri ayarlama özelliğinin (veya __Secure öneki), veya lax CORS doğrulaması mantığı.

  • HTTPS üzerinden kontrol edebilirsiniz.

İçerik Güvenliği Politikası (İGP)

Siteler Arası Komut Dosyası Çalıştırma (XSS) bir saldırıdır Burada, web sitesindeki bir güvenlik açığı kötü amaçlı bir komut dosyasının yerleştirilmesine izin veriyorsa yürütüldü.

Content-Security-Policy, XSS saldırılarını azaltmak için ek bir katman sağlar. sayfa tarafından yürütülebilecek komut dosyalarını kısıtlama.

Aşağıdaki yaklaşımlardan birini kullanarak katı CSP'yi etkinleştirmeniz önerilir:

  • HTML sayfalarınızı sunucuda oluşturuyorsanız nonce tabanlı katı bir CSP kullanın.
  • HTML'nizin statik olarak veya önbelleğe alınmış olarak sunulması gerekiyorsa; örneğin Tek sayfalık uygulama için karma tabanlı katı bir CSP kullanın.

Örnek kullanım: Temel olmayan CSP

Content-Security-Policy:
  script-src 'nonce-{RANDOM1}' 'strict-dynamic' https: 'unsafe-inline';
  object-src 'none';
  base-uri 'none';
CSP nasıl kullanılır?

1. Nonce tabanlı katı bir CSP kullanın {: #nonce-based-csp}

HTML sayfalarınızı sunucuda oluşturuyorsanız nonce tabanlı katı bir CSP kullanın.

Sunucu tarafındaki her istek için yeni bir komut dosyası tek seferlik rastgele sayı değeri oluşturun ve şu başlıkta:

sunucu yapılandırma dosyası

Content-Security-Policy:
  script-src 'nonce-{RANDOM1}' 'strict-dynamic' https: 'unsafe-inline';
  object-src 'none';
  base-uri 'none';

HTML'de, komut dosyalarını yüklemek için tüm komut dosyalarının nonce özelliğini Aynı {RANDOM1} dizesine <script> etiket eklendi.

index.html

<script nonce="{RANDOM1}" src="https://example.com/script1.js"></script>
<script nonce="{RANDOM1}">
  // Inline scripts can be used with the <code>nonce</code> attribute.
</script>

Google Fotoğraflar, CE tabanlı olmayan iyi bir CSP'dir örneğine bakalım. Nasıl kullanıldığını görmek için Geliştirici Araçları'ndan yararlanın.

2. Karma tabanlı katı bir CSP kullanın {: #hash-based-csp}

HTML'nizin statik veya önbelleğe alınmış olarak sunulması gerekiyorsa; örneğin Tek sayfalık uygulama oluştururken karma tabanlı katı bir CSP kullanın.

sunucu yapılandırma dosyası

Content-Security-Policy:
  script-src 'sha256-{HASH1}' 'sha256-{HASH2}' 'strict-dynamic' https: 'unsafe-inline';
  object-src 'none';
  base-uri 'none';

HTML'de, karma tabanlı bir komut dosyası uygulamak için politikasına göre, çoğu tarayıcı harici karma oluşturma işlemini komut dosyaları'nı tıklayın.

index.html

<script>
...// your script1, inlined
</script>
<script>
...// your script2, inlined
</script>

Harici komut dosyalarını yüklemek için "Kaynak komut dosyalarını dinamik olarak yükleme" bölümünü okuyun altında Seçenek B: Karma Tabanlı CSP Yanıt Başlığı bölümü.

CSP Değerlendirme Aracı, CSP'nizi değerlendirmenin yanı sıra, aynı zamanda tek seferlik rastgele olmayan katı sıkı bir CSP örneğidir. Nasıl kullanıldığını görmek için Geliştirici Araçları'ndan yararlanın.

Desteklenen tarayıcılar

CSP ile ilgili dikkat edilmesi gereken diğer noktalar

  • frame-ancestors yönergesi, sitenizi tıklama korsanlığına karşı korur (tıklamalara izin vermeniz durumunda ortaya çıkabilecek bir risk) sizin sitenizi yerleştirmesini engellemez. Daha basit bir çözümü tercih ederseniz Yüklenmesini engellemek için X-Frame-Options, ancak frame-ancestors şunu veriyor: yerleşik olarak yalnızca belirli kaynaklara izin veren gelişmiş bir yapılandırma kullanıyorsanız.
  • Sitenizdeki tüm kaynakların HTTPS üzerinden yüklendiğinden emin olun. Bu artık daha az alakalı hale geliyor: günümüzde çoğu tarayıcı, karma içerik
  • Bir İGP'yi yalnızca rapor mod'u seçin.
  • Bir CSP'yi sunucu tarafında başlık olarak ayarlayamıyorsanız bunu meta bir meta veri olarak da kapanış etiketinin hemen öncesine yapıştırın. Meta etiketler için salt rapor modunu kullanamayacağınızı unutmayın (yine de bu durum değişebilir).

Daha fazla bilgi

Güvenilir Türler

DOM tabanlı XSS, kötü amaçlı verilerin dinamik kodu destekleyen bir havuza aktarıldığı saldırı eval() veya .innerHTML gibi yürütmelidir.

Trusted Types; yazma, güvenlik incelemesi ve bakım işlemleri için araçlar sağlar uygulamalarında DOM XSS'in bulunmadığı anlamına gelir. İGP aracılığıyla etkinleştirilebilir ve Tehlikeli web API'lerinin yalnızca kabul ettiği web API'lerini sınırlayarak varsayılan olarak güvenli JavaScript kodu Özel bir nesne: Güvenilir Tür.

Bu nesneleri oluşturmak için güvenlik politikaları tanımlayabilirsiniz. güvenlik kurallarının (çıkış veya temizleme gibi) tutarlı bir şekilde uygulandığını veri DOM'ye yazmadan önce kullanır. Bu politikalar yalnızca DOM XSS'i kullanıma sokabilecek kodlar.

Örnek kullanımlar

Content-Security-Policy: require-trusted-types-for 'script'
// Feature detection
if (window.trustedTypes && trustedTypes.createPolicy) {
  // Name and create a policy
  const policy = trustedTypes.createPolicy('escapePolicy', {
    createHTML: str => {
      return str.replace(/\</g, '&lt;').replace(/>/g, '&gt;');
    }
  });
}

// Assignment of raw strings is blocked by Trusted Types.
el.innerHTML = &#39;some string&#39;; // This throws an exception.

// Assignment of Trusted Types is accepted safely.
const escaped = policy.createHTML(&#39;&lt;img src=x onerror=alert(1)&gt;&#39;);
el.innerHTML = escaped;  // &#39;&amp;lt;img src=x onerror=alert(1)&amp;gt;&#39;

Trusted Types nasıl kullanılır?

  1. Tehlikeli DOM havuzları için Güvenilir Türleri zorunlu kılın İGP ve Güvenilir Türler başlığı:

    Content-Security-Policy: require-trusted-types-for 'script'
    

    Şu anda 'script' için kabul edilen tek değer require-trusted-types-for yönergesi.

    Elbette, Güvenilir Türler'i diğer İGP yönergeleriyle birleştirebilirsiniz:

Yukarıdaki temelli olmayan bir CSP'yi Güvenilir Türlerle birleştirme:

Content-Security-Policy:
  script-src &#39;nonce-{RANDOM1}&#39; &#39;strict-dynamic&#39; https: &#39;unsafe-inline&#39;;
  object-src &#39;none&#39;;
  base-uri &#39;none&#39;;
  require-trusted-types-for &#39;script&#39;;

<aside class="note"><b>Not: </b> Ek bir <code>güvenilir türler</code> ayarlayarak izin verilen Güvenilir Türler politika adlarını sınırlayabilirsiniz. yönergesini (örneğin, <code>güvenilir-türler myPolicy</code>) girin. Ancak bu bir gereklilik değildir. &lt;/aside&gt;

  1. Politika tanımlayın

    Politika:

    // Feature detection
    if (window.trustedTypes && trustedTypes.createPolicy) {
      // Name and create a policy
      const policy = trustedTypes.createPolicy('escapePolicy', {
        createHTML: str => {
          return str.replace(/\/g, '>');
        }
      });
    }
    
    .
  2. Politikayı uygula

    DOM'ye veri yazarken bu politikayı kullanın:

    // Assignment of raw strings are blocked by Trusted Types.
    el.innerHTML = &#39;some string&#39;; // This throws an exception.</p>
    
    <p>// Assignment of Trusted Types is accepted safely.
    const escaped = policy.createHTML(&#39;<img src="x" onerror="alert(1)">&#39;);
    el.innerHTML = escaped;  // &#39;&lt;img src=x onerror=alert(1)&gt;&#39;
    

    require-trusted-types-for 'script' uygulamasında güvenilir tür kullanmak gerekir. Tehlikeli herhangi bir DOM API'sinin bir dizeyle kullanılması, hatası.

Desteklenen tarayıcılar

Daha fazla bilgi

X-Content-Type-Options

Alanınızdan kötü amaçlı bir HTML dokümanı sunulduğunda (örneğin, bir fotoğraf hizmetine yüklenen resim geçerli HTML işaretlemesi içeriyorsa), bazı tarayıcılar bunu etkin bir doküman olarak kabul eder ve Bunun sonucunda da uygulama bağlamına göre siteler arası komut dosyası çalıştırma hata.

X-Content-Type-Options: nosniff, tarayıcıya şu komutu vererek engeller: MIME türü Content-Type üstbilgisi, verilen yanıt için doğru. Bu başlık tüm kaynaklarınız için önerilir.

Örnek kullanım

X-Content-Type-Options: nosniff
X-Content-Type-Options'ı kullanma

Şuradan sunulan tüm kaynaklar için önerilir: X-Content-Type-Options: nosniff doğru Content-Type başlığıyla birlikte e-posta sunucunuza eklemeniz gerekir.

X-Content-Type-Options: &quot;nosniff&quot;

Doküman HTML'si ile gönderilen örnek üstbilgiler

X-Content-Type-Options: nosniff
Content-Type: text/html; charset=utf-8

Desteklenen tarayıcılar

Tarayıcı Desteği

  • Chrome: 64..
  • Kenar: 12..
  • Firefox: 50..
  • Safari: 11..

Kaynak

Daha fazla bilgi

X-Frame-Options

Kötü amaçlı bir web sitesi sitenizi iframe olarak yerleştirebiliyorsa bu durum, saldırganların, kullanıcı tarafından istenmeyen eylemlerde tıklama korsanlığı ile ilgili olan, Ayrıca bazı vakalar Spectre-type saldırının kötü amaçlı web sitelerine yerleştirilmiş bir dokümanın içeriği hakkında bilgi sahibi olabilir.

X-Frame-Options, tarayıcının oluşturulmasına izin verilip verilmeyeceğini belirtir <frame>, <iframe>, <embed> veya <object> içinde bir sayfa. Tüm belgeler izin verilip verilmediğini belirtmek üzere bu başka dokümanlar tarafından gömülü olarak sunulur.

Örnek kullanım

X-Frame-Options: DENY
X-Frame-Options nasıl kullanılır?

Yerleştirilmek üzere tasarlanmamış tüm dokümanlar X-Frame-Options üstbilgisini kullanmalıdır.

Aşağıdaki yapılandırmaların bir iframe'in yüklenmesini nasıl etkilediğini bu sayfada demo'ya gidin. X-Frame-Options ayarını değiştirin açılır menüsünü açın ve iframe'i yeniden yükle düğmesini tıklayın.

Web sitenizi başka web sitelerinin yerleştirmelerine karşı korur

Başka dokümanlar tarafından yerleştirilmesini reddetme.

X-Frame-Seçenekleri: DENY
X-Frame-Options: DENY

Web sitenizi çapraz kaynak web sitelerine yerleştirilmeye karşı korur

Yalnızca aynı kaynaklı dokümanlar tarafından yerleştirilmesine izin ver.

X-Frame-Options: SAMEORIGIN
.

Desteklenen tarayıcılar

Tarayıcı Desteği

  • Chrome: 4..
  • Kenar: 12..
  • Firefox: 4..
  • Safari: 4..

Kaynak

Daha fazla bilgi

Kaynaklar Arası Kaynak Politikası (CORP)

Saldırganlar başka bir kaynaktan (örneğin, sizin sitenizden) web tabanlı siteler arası kötü niyetli girişimlerden yararlanarak bunlarla ilgili bilgi edinmeye sızıntıları.

Cross-Origin-Resource-Policy, hedefin %100 olduğunu belirterek yükleyebileceğiniz anlamına gelir. Başlık şu üç değerden birini alır: same-origin, same-site ve cross-origin. Tüm kaynaklar tarafından yüklenmesine izin verilip verilmediğini belirtmek için bu üstbilginin diğer web sitelerinde görünür.

Örnek kullanım

Cross-Origin-Resource-Policy: same-origin
CORP'yi kullanma

Tüm kaynakların aşağıdakilerden biriyle sunulması önerilir: üç başlık ekleyin.

Aşağıdaki yapılandırmaların bir Cross-Origin-Embedder-Policy: require-corp ortam üzerinde demo'yu indirin. Cross-Origin-Resource-Policy açılır menüsünü tıklayın ve iframe veya Resmi yeniden yükle düğmesini tıklayarak etkiyi görebilirsiniz.

Kaynakların yüklenmesine izin ver cross-origin

CDN benzeri hizmetlerin kaynaklara cross-origin uygulaması önerilir (daha önce sunulmamışsa) (genellikle kaynaklar arası sayfalar tarafından yüklendikleri için) CORS üzerinden eşleşir.

Cross-Origin-Resource-Policy: çapraz kaynak
Cross-Origin-Resource-Policy: cross-origin

same-origin üzerinden yüklenecek kaynakları sınırlayın

same-origin, yalnızca yüklenmesi amaçlanan kaynaklara uygulanmalıdır aynı kaynak sayfalara göre de yapılır. Bu strateji, veya çağrılması planlanan API'nin yanıtları, kullanıcı hakkında bilgiler veya aynı kaynaktan gelen kullanıcılardır.

Bu başlığa sahip kaynakların doğrudan yüklenebileceğini unutmayın. Örneğin, yeni bir tarayıcı penceresinde URL'ye gidin. Kaynaklar Arası Kaynak Politika, yalnızca kaynağı başka web siteleri tarafından yerleştirilmesine karşı korur.

Cross-Origin-Resource-Policy: aynı kaynak
Cross-Origin-Resource-Policy: same-origin

same-site üzerinden yüklenecek kaynakları sınırlayın

Yukarıdakine benzer kaynaklara same-site uygulanması önerilir ancak sitenizin diğer alt alanları tarafından yüklenmek üzere tasarlanmışlardır.

Cross-Origin-Resource-Policy: aynı site.
Cross-Origin-Resource-Policy: same-site

Desteklenen tarayıcılar

Tarayıcı Desteği

  • Chrome: 73..
  • Kenar: 79..
  • Firefox: 74..
  • Safari: 12..

Kaynak

Daha fazla bilgi

Çapraz Kaynak Açıcı Politikası (COOP)

Bir saldırganın web sitesi, bilgi edinmek için pop-up pencerede başka bir siteyi açabilir kullanarak siteler arası sızıntıları. Bazı durumlarda bu, kötü amaçlı yazılımların veya Spectre.

Cross-Origin-Opener-Policy üstbilgisi, dokümanın kendisine window.open() üzerinden açılan çapraz kaynak pencerelerinden veya rel="noopener" olmadan target="_blank". Sonuç olarak, Google'ın açık kaynak veya bu belgeye referansta bulunulmaz ve etkileşimde bulunamaz. gerçekleşebilir.

Örnek kullanım

Cross-Origin-Opener-Policy: same-origin-allow-popups
COOP nasıl kullanılır?

Aşağıdaki yapılandırmaların bir bu demodaki kaynaklar arası pop-up penceresine göz atın. Her iki doküman için de Cross-Origin-Opener-Policy açılır menüsünü Pop-up pencerede Pop-up aç düğmesini, ardından Gönder > postMessage aracılığıyla iletinin gerçekten teslim edilip edilmediğini kontrol edin.

Bir dokümanı çapraz kaynak pencerelerinden izole etme

same-origin politikasının ayarlanması, dokümanı çapraz kaynaktan izole edilecek doküman pencereleri.

Cross-Origin-Opener-Policy: aynı-kaynak
Cross-Origin-Opener-Policy: same-origin

Bir dokümanı çapraz kaynak pencerelerinden izole et ancak pop-up'lara izin ver

same-origin-allow-popups politikasının ayarlanması, dokümanın COOP'u same-origin veya same-origin-allow-popups Bu, same-origin-allow-popups ürününün hâlâ şunları yapabileceği anlamına gelir: pop-up pencere olarak açıldığında dokümana referans verilmesini önler ancak kendi pop-up'larıyla iletişim kurmasını sağlar.

Cross-Origin-Opener-Policy: Aynı-origin-allow-popups
Cross-Origin-Opener-Policy: same-origin-allow-popups

Bir dokümana kaynaklar arası pencereler tarafından referans verilmesine izin ver

unsafe-none, varsayılan değerdir ancak bunun Doküman, kaynaklar arası pencerede açılabilir ve karşılıklı erişimi korur.

Cross-Origin-Opener-Policy: secure-none. ziyaret edin.
Cross-Origin-Opener-Policy: unsafe-none

COOP ile uyumlu olmayan rapor kalıpları

COOP, Raporlama API'si.

Cross-Origin-Opener-Policy: same-origin; report-to="coop"

COOP, salt rapor modunu da destekler. Böylece, raporları belgeler arası iletişimi engelliyor olabilir.

Cross-Origin-Opener-Policy-Report-Only: same-origin; report-to="coop"

Desteklenen tarayıcılar

Tarayıcı Desteği

  • Chrome: 83..
  • Kenar: 83..
  • Firefox: 79..
  • Safari: 15.2..

Kaynak

Daha fazla bilgi

Kaynaklar Arası Kaynak Paylaşımı (CORS)

Bu makaledeki diğer öğelerden farklı olarak, Kaynaklar Arası Kaynak Paylaşımı (CORS) erişim isteğinde bulunan ve erişim izni veren bir tarayıcı mekanizmasıdır. kaynaklar arasında yer alıyor.

Varsayılan olarak, tarayıcılar aşağıdaki amaçlar için aynı kaynak politikasını uygular: Bir web sayfasının kaynaklar arası kaynaklara erişmesini engelleyebilirsiniz. Örneğin, web sayfasında gösterilmesine rağmen çapraz kaynak resmi yüklenmiş olmalıdır Görsel olarak, sayfadaki JavaScript'in resmin verilerine erişimi yoktur. Kaynak sağlayıcı kısıtlamaları gevşetebilir ve diğer web sitelerinin okumasına izin verebilir kaynak olarak nitelendirebiliriz.

Örnek kullanım

Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Credentials: true
CORS'yi kullanma

CORS'yi nasıl yapılandıracağınıza bakmadan önce, birbirinden farklıdır. İstek ayrıntılarına bağlı olarak bir istek basit istek veya önceden kontrol edilmiş istek olarak sınıflandırılmalıdır.

Basit bir taleple ilgili ölçütler:

  • Yöntem: GET, HEAD veya POST.
  • Özel üstbilgiler yalnızca Accept, Accept-Language, Content-Language ve Content-Type.
  • Content-Type artık application/x-www-form-urlencoded, multipart/form-data veya text/plain.

Diğer her şey ön yayınlı istek olarak sınıflandırılır. Daha ayrıntılı bilgi için Kaynaklar Arası Kaynak Paylaşımı (CORS) - HTTP | MDN olarak kullanılabilir.

Basit istek

Bir istek basit istek ölçütlerini karşıladığında, tarayıcı bir istek gönderir. istekte bulunan kullanıcıyı belirten Origin başlığına sahip kaynaklar arası istek kaynak.

Örnek istek başlığı

Get / HTTP/1.1
Origin: https://example.com

Örnek yanıt başlığı

Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Credentials: true
  • Access-Control-Allow-Origin: https://example.com, https://example.com, yanıtın içeriğine erişebilir. Amaçlanan kaynaklar bu başlığı * olarak ayarlayabilirsiniz. Bu durumda, tarayıcı, yalnızca istekte bulunulmadan isteğin yapılmasını gerektirir kimlik bilgileri ekleyin.
  • Access-Control-Allow-Credentials: true, Kimlik bilgilerinin (çerezlerin) kaynağı yüklemesine izin verilir. Aksi halde kimliği doğrulanmış istekler, istekte bulunan kaynak Access-Control-Allow-Origin üstbilgisinde yer alır.

Basit isteğin bir Cross-Origin-Embedder-Policy: require-corp ortam üzerinde demo'yu indirin. Önce Kaynaklar Arası Kaynak Paylaşımı onay kutusunu işaretleyin ve Resmi yeniden yükle'yi tıklayın düğmesini tıklayın.

Yayın öncesi istekler

Önceden yayın yapılmış bir istekten önce bir OPTIONS isteği gelir ve bu isteğin gönderilmesine izin verilir.

Örnek istek başlığı

OPTIONS / HTTP/1.1
Origin: https://example.com
Access-Control-Request-Method: POST
Access-Control-Request-Headers: X-PINGOTHER, Content-Type
  • Access-Control-Request-Method: POST, şu isteğin yapılmasına izin verir: POST yöntemini kullanın.
  • Access-Control-Request-Headers: X-PINGOTHER, Content-Type şunlara izin verir: istek sahibinin X-PINGOTHER ve Content-Type HTTP başlıklarını daha yüksek bir talep edebilirsiniz.

Örnek yanıt başlıkları

Access-Control-Allow-Origin: https://example.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: POST, GET, OPTIONS
Access-Control-Allow-Headers: X-PINGOTHER, Content-Type
Access-Control-Max-Age: 86400
  • Access-Control-Allow-Methods: POST, GET, OPTIONS, sonraki POST, GET ve OPTIONS yöntemleriyle istek yapılabilir.
  • Access-Control-Allow-Headers: X-PINGOTHER, Content-Type, sonraki adımları belirtir istekleri X-PINGOTHER ve Content-Type üstbilgilerini içerebilir.
  • Access-Control-Max-Age: 86400, önceden yayınlarının sonucunu gösterir isteği 86.400 saniye boyunca önbelleğe alınabilir.

Desteklenen tarayıcılar

Tarayıcı Desteği

  • Chrome: 4..
  • Kenar: 12..
  • Firefox: 3.5..
  • Safari: 4..

Kaynak

Daha fazla bilgi

Kaynaklar Arası Yerleştirme Politikası (COEP)

Spectre tabanlı kökler arası kaynakları çal, SharedArrayBuffer veya performance.measureUserAgentSpecificMemory() varsayılan olarak devre dışıdır.

Cross-Origin-Embedder-Policy: require-corp, dokümanların ve çalışanların şunları yapmasını engeller: Resim, komut dosyası, stil sayfası, iframe ve dosya gibi kaynaklar (bu kaynaklar açık bir şekilde CORS aracılığıyla yüklenmeyi etkinleştirilmediği sürece) veya CORP başlıkları ekleyin. COEP, Cross-Origin-Opener-Policy ile birleştirilebilir bir dokümanı kaynaklar arası erişime dahil etmek için kullanılır.

Etkinleştirmek istediğinizde Cross-Origin-Embedder-Policy: require-corp işlevini kullanın dokümanınız için kaynaklar arası erişime kapalı URL'ler oluşturun.

Örnek kullanım

Cross-Origin-Embedder-Policy: require-corp
COEP nasıl kullanılır?

Örnek kullanımlar

COEP, require-corp değerinde tek bir değer alır. Bu üstbilgiyi göndererek şunları yapabilirsiniz: tarayıcıya, CORS veya CORP.

COEP nasıl çalışır?

Aşağıdaki yapılandırmaların kaynakların yüklenmesini nasıl etkilediğini bu sayfada demo'ya gidin. Cross-Origin-Embedder-Policy açılır menüsü, Cross-Origin-Resource-Policy açılır menüsü, Yalnızca Rapor onay kutusu vb. 'e göz atın. Ayrıca, raporlama uç noktasını açın. demo'yu ziyaret ederek engellenen kaynakların bildiriliyor.

Kaynaklar arası izolasyonu etkinleştir

Göndererek çapraz kaynak izolasyonunu etkinleştirin Cross-Origin-Embedder-Policy: require-corp ve Cross-Origin-Opener-Policy: same-origin.

Cross-Origin-Embedder-Policy: require-corp
Cross-Origin-Opener-Policy: same-origin

COEP ile uyumlu olmayan kaynakları bildirme

COEP'nin neden olduğu engellenen kaynakların raporlarını Raporlama API'ye gidin.

Cross-Origin-Embedder-Policy: require-corp; report-to="coep"

COEP salt rapor modunu da destekler. Böylece, gerçekte var olan bir işlem olmadan kaynakların yüklenmesini engelliyor.

Cross-Origin-Embedder-Policy-Report-Only: require-corp; report-to="coep"

Desteklenen tarayıcılar

Tarayıcı Desteği

  • Chrome: 83..
  • Kenar: 83..
  • Firefox: 79..
  • Safari: 15.2..

Kaynak

Daha fazla bilgi

HTTP Katı Taşıma Güvenliği (HSTS)

Düz HTTP bağlantısı üzerinden iletişim şifrelenmez, bu da Ağ seviyesindeki meraklıların erişimine açık olacak.

Strict-Transport-Security başlığı, tarayıcıya hiçbir zaman yüklenmemesi gerektiğini bildirir bunun yerine HTTPS kullanın. Bu ayar yapıldıktan sonra tarayıcı, Alana bir süre boyunca yönlendirme olmadan erişmek için HTTP yerine HTTPS başlıkta tanımlıdır.

Örnek kullanım

Strict-Transport-Security: max-age=31536000
HSTS nasıl kullanılır?

HTTP'den HTTPS'ye geçen tüm web siteleri, HTTP'den HTTPS'ye geçiş yapan HTTP ile bir istek alındığında Strict-Transport-Security başlığı.

Strict-Transport-Security: max-age=31536000

Desteklenen tarayıcılar

Tarayıcı Desteği

  • Chrome: 4..
  • Kenar: 12..
  • Firefox: 4..
  • Safari: 7..

Kaynak

Daha fazla bilgi

Daha fazla bilgi