WorkerGlobalScope: crossOriginIsolated-Eigenschaft

Hinweis: Diese Funktion ist nur in Web Workers verfügbar.

Die crossOriginIsolated schreibgeschützte Eigenschaft des WorkerGlobalScope-Interfaces gibt einen boolean-Wert zurück, der angibt, ob das Dokument herkunftsisoliert ist.

Ein herkunftsisoliertes Dokument teilt seine Browsing-Kontext-Gruppe nur mit gleichherkunftlichen Dokumenten in Popups und Navigationen sowie mit Ressourcen (sowohl gleichherkunftlich als auch kreuzherkunftlich), für deren Nutzung das Dokument sich mittels CORS (und COEP für <iframe>) entschieden hat. Die Beziehung zwischen einem kreuzherkunftlichen Eröffner des Dokuments oder jeglichen kreuzherkunftlichen Popups, die es öffnet, wird getrennt. Das Dokument kann auch in einem separaten Betriebssystemprozess zusammen mit anderen Dokumenten gehostet werden, mit denen es über den gemeinsamen Speicher kommunizieren kann. Dies verringert das Risiko von Seitenkanalangriffen und kreuzherkunftlichen Angriffen, die als XS-Leaks bezeichnet werden.

Herkunftsisolierte Dokumente arbeiten mit weniger Einschränkungen bei der Verwendung der folgenden APIs:

Ein Dokument wird herkunftsisoliert sein, wenn es mit einer HTTP-Antwort zurückgegeben wird, die die Header enthält:

Der Zugriff auf die APIs muss auch durch die Permissions-Policy cross-origin-isolated ermöglicht werden. Andernfalls wird die crossOriginIsolated-Eigenschaft false zurückgeben, und das Dokument wird nicht in der Lage sein, die oben genannten APIs mit reduzierten Einschränkungen zu verwenden.

Wert

Ein boolean-Wert.

Beispiele

Ein dokument herkunftsisolieren

Um ein Dokument herkunftsisoliert zu machen:

  • Setzen Sie den Cross-Origin-Opener-Policy HTTP-Header auf same-origin:

    http
    Cross-Origin-Opener-Policy: same-origin
    
  • Setzen Sie den Cross-Origin-Embedder-Policy HTTP-Header auf require-corp oder credentialless:

    http
    Cross-Origin-Embedder-Policy: require-corp
    Cross-Origin-Embedder-Policy: credentialless
    
  • Die cross-origin-isolated Direktive des Permissions-Policy Headers darf den Zugriff auf die Funktion nicht blockieren. Beachten Sie, dass die Standard-Zugriffsliste der Direktive self ist, sodass die Erlaubnis standardmäßig herkunftsisolierten Dokumenten erteilt wird.

Überprüfen, ob das Dokument herkunftsisoliert ist

js
const myWorker = new Worker("worker.js");

if (self.crossOriginIsolated) {
  const buffer = new SharedArrayBuffer(16);
  myWorker.postMessage(buffer);
} else {
  const buffer = new ArrayBuffer(16);
  myWorker.postMessage(buffer);
}

Spezifikationen

Specification
HTML Standard
# dom-crossoriginisolated-dev

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch