Manifes - Sandbox

Peringatan: Mulai versi 57, Chrome tidak akan lagi mengizinkan konten web eksternal (termasuk frame dan skrip yang disematkan) di dalam halaman sandbox. Sebagai gantinya, gunakan webview.

Menentukan kumpulan halaman aplikasi atau ekstensi yang akan ditayangkan di origin unik sandbox, dan secara opsional Kebijakan Keamanan Konten untuk digunakan bersama halaman tersebut. Berada di sandbox memiliki dua implikasi:

  1. Halaman sandbox tidak akan memiliki akses ke API ekstensi atau aplikasi, atau akses langsung ke halaman non-sandbox (halaman tersebut dapat berkomunikasi dengan halaman non-sandbox melalui postMessage()).
  2. Halaman sandbox tidak tunduk pada Kebijakan Keamanan Konten (CSP) yang digunakan oleh aplikasi atau ekstensi lainnya (halaman tersebut memiliki nilai CSP terpisah). Artinya, misalnya, halaman tersebut dapat menggunakan skrip inline dan eval.

    Misalnya, berikut cara menentukan bahwa dua halaman ekstensi akan ditayangkan di sandbox dengan CSP kustom:

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

    Jika tidak ditentukan, nilai default content_security_policy adalah sandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';. Anda dapat menentukan nilai CSP untuk membatasi sandbox lebih lanjut, tetapi harus memiliki direktif sandbox dan tidak boleh memiliki token allow-same-origin (lihat spesifikasi HTML5 untuk mengetahui kemungkinan token sandbox). Selain itu, CSP yang Anda tentukan mungkin tidak mengizinkan pemuatan konten web eksternal di dalam halaman sandbox.

Perhatikan bahwa Anda hanya perlu mencantumkan halaman yang diharapkan akan dimuat di jendela atau frame. Resource yang digunakan oleh halaman sandbox (misalnya, stylesheet atau file sumber JavaScript) tidak perlu muncul dalam daftar sandboxed_page, resource tersebut akan menggunakan sandbox halaman yang menyematkannya.

"Using eval in Chrome Extensions. Safely." membahas lebih detail tentang penerapan alur kerja sandbox yang memungkinkan penggunaan library yang biasanya akan mengalami masalah saat dieksekusi di bawah Kebijakan Keamanan Konten default ekstensi.

Halaman sandbox hanya dapat ditentukan saat menggunakan manifest_version 2 atau yang lebih baru.