Manifest – Sandbox

Warnung:Ab Version 57 sind externe Webinhalte nicht mehr in Chrome zulässig, darunter auch eingebettete Frames und Skripts) innerhalb von Sandbox-Seiten. Verwenden Sie stattdessen eine Webview.

Definiert eine Sammlung von App- oder Erweiterungsseiten, die in einem eindeutigen Sandbox-Ursprung bereitgestellt werden. und optional eine Content Security Policy zur Verwendung mit ihnen verwenden. Die Verwendung in einer Sandbox hat zwei Auswirkungen:

  1. Eine Seite in einer Sandbox hat keinen Zugriff auf Erweiterungs- oder App-APIs und keinen direkten Zugriff auf Seiten ohne Sandbox. Sie kann aber über postMessage() mit ihnen kommunizieren.
  2. Eine Seite, die in einer Sandbox ausgeführt wird, unterliegt nicht der Content Security Policy (CSP), die vom Rest der die App oder Erweiterung (sie hat einen eigenen CSP-Wert). Das bedeutet, dass beispielsweise Inline-Script und eval verwendet werden können.

    So können Sie beispielsweise festlegen, dass zwei Erweiterungsseiten in einer Sandbox mit einem benutzerdefinierte CSP:

    {
      ...
      "sandbox": {
        "pages": [
          "page1.html",
          "directory/page2.html"
        ]
        // content_security_policy is optional.
        "content_security_policy":
            "sandbox allow-scripts; script-src 'self'"
      ],
      ...
    }
    

    Wenn keine Angabe erfolgt, ist der Standardwert für content_security_policy sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';. Sie können Ihren CSP-Wert angeben, um die Sandbox noch weiter einzuschränken. Er muss jedoch die Direktive sandbox enthalten und darf kein allow-same-origin-Token haben. Mögliche Sandbox-Tokens finden Sie in der HTML5-Spezifikation. Außerdem lässt die angegebene CSP möglicherweise das Laden nicht zu. Externe Webinhalte auf Seiten, die in einer Sandbox ausgeführt werden.

Sie müssen nur Seiten auflisten, die voraussichtlich in Fenstern oder Frames geladen werden. Ressourcen Seiten, die in einer Sandbox verwendet werden (z.B. Stylesheets oder JavaScript-Quelldateien), müssen nicht im sandboxed_page-Liste verwendet, wird die Sandbox der Seite verwendet, in der sie eingebettet sind.

„eval in Chrome-Erweiterungen verwenden. sicher.“ erfahren Sie mehr über die Implementierung eines Sandboxing-Workflow, der die Verwendung von Bibliotheken ermöglicht, bei denen andernfalls Probleme auftreten würden. der standardmäßigen Content Security Policy der Erweiterung.

Die Seite in der Sandbox kann nur angegeben werden, wenn manifest_version 2 oder höher verwendet wird.