Belge İzolasyonu Politikası: Güçlü web özelliklerini kolayca etkinleştirme

Camille Lamy
Camille Lamy

Yayınlanma tarihi: 1 Mayıs 2025

Chrome 137'ten itibaren Doküman İzolasyon Politikası, crossOriginIsolation'u benimsemeyi kolaylaştıran yeni bir özelliktir. COEP'nin (Cross-Origin-Embedder-Policy) aksine, Belge İzolasyon Politikası her çerçeve için geçerlidir ve alt çerçevelerle ilgili herhangi bir şart getirmez. Doküman İzolasyon Politikası, crossOriginIsolation etkinleştirildiğinde SharedArrayBuffers veya WebAssembly iş parçacıkları gibi güçlü web işlevlerine erişimi açar.

Kökler arası erişime kapalı nedir?

Kaynaklar arası izolasyon, bir doküman ve tarayıcının işleminde aynı kaynaktaki akrabaları etrafında sağlam bir sınır çizer. Belgenin gruplandırılmasını ve farklı kaynaklardan gelen belgelerle kaynak veya bilgi paylaşmasını önler. Çapraz kaynak izolasyonu, temel tarayıcı motorunun varsayılan olarak site izolasyonu veya çapraz kaynak izolasyonunu destekleme durumundan bağımsız olarak kaynağın kendi işleminde yüklenebilmesini sağlayarak bunu başarır. Bu sayede Spectre gibi spekülatif yürütme saldırılarına karşı koruma sağlanır.

Doküman İzolasyon Politikası nedir?

Doküman İzolasyon Politikası, COOP (Cross-Origin-Opener-Policy) ve COEP (Cross-Origin-Embedder-Policy) ile karşılaştırıldığında crossOriginIsolation'u uygulamanın daha basit bir yolunu sunar. Bu sayede, çerçeve başına yalıtım sağlanır ve COEP'yi desteklemek için yerleştirilmiş iFrame'lere olan ihtiyaç ortadan kalkar.

Belge İzolasyon Politikası'nın işleyiş şekli

Belge İzolasyon Politikası, web uygulamalarındaki belirli çerçeveleri izole etmenize olanak tanır. Belgenizle birlikte bir Document-Isolation-Policy başlığı göndererek doküman, güvenlik endişeleri nedeniyle kısıtlanmış olan SharedArrayBuffers gibi güçlü özelliklere erişebilir. COOP ve COEP'nin aksine, Belge İzolasyon Politikası, belgenin iletişim kurabileceği sayfalar veya belgenin yerleştirebileceği alt çerçeveler üzerinde kısıtlamalar uygulamaz. Belge İzolasyon Politikası'na sahip dokümanlar, çapraz kaynak pop-up'ları açabilir ve bunlarla iletişim kurabilir. Ayrıca, herhangi bir iFrame'i normal şekilde yerleştirebilirler.

COEP'ye benzer şekilde, Doküman İzolasyon Politikası'nın iki modu vardır: isolate-and-require-corp ve isolate-and-credentialless. Bu modlar, Kaynaklar Arası Kaynak Paylaşımı (CORS) olmadan yüklenen kaynaklar arası alt kaynakların nasıl işleneceğini yönetir. isolate-and-require-corp modunda, kaynakta farklı olan kaynaklar Cross-Origin-Resource-Policy üst bilgisini kullanarak kaynakta farklı olan kaynak politikalarını açıkça belirtmelidir. Aksi takdirde engellenir. Bu sayede kaynaklar bilinçli olarak paylaşılır. Buna karşılık isolate-and-credentialless modu, kaynakta farklı köklere sahip kaynakların CORS üstbilgileri olmadan yüklenmesine olanak tanır ancak istekteki tüm kimlik bilgilerini (ör. çerezler veya HTTP kimlik doğrulaması) kaldırarak kaynağı anonimmiş gibi işler. Bu mod, CORS olmayan kaynakları işlemek için daha az kısıtlayıcı ancak yine de güvenli bir yol sunar.

Doküman İzolasyon Politikası ile izole edilen iframe'ler, izole edilmemiş aynı kaynaktaki iframe'lere senkronize DOM erişimi sahibi değildir. Ancak bu izole edilmiş iFrame'ler, postMessage gibi kaynak ötesi Window yöntemlerini kullanarak izole edilmemiş çerçevelerle iletişim kurmaya devam edebilir. Ayrıca, depolama API'lerine tam erişimlerini korurlar. Bu sayede, yalıtım etkin olsa bile aynı kaynakta veri kalıcılığı ve paylaşımı sağlanır.