Peringatan: Mulai versi 57, Chrome tidak akan lagi mengizinkan konten web eksternal (termasuk frame dan skrip yang disematkan) di dalam halaman yang di-sandbox. Sebagai gantinya, gunakan webview.
Menentukan kumpulan halaman aplikasi atau ekstensi yang akan ditayangkan di asal unik dalam sandbox, dan secara opsional, Kebijakan Keamanan Konten (Content Security Policy) untuk digunakan dengannya. Berada di sandbox memiliki dua implikasi:
- Halaman dalam sandbox tidak akan memiliki akses ke API aplikasi atau ekstensi, maupun akses langsung ke
halaman yang tidak di-sandbox (halaman dapat berkomunikasi dengannya melalui
postMessage()
). Halaman dalam sandbox tidak tunduk pada Kebijakan Keamanan Konten (CSP) yang digunakan oleh aplikasi atau ekstensi (memiliki nilai CSP tersendiri). Ini berarti, sebagai contoh, sistem ini dapat gunakan 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
content_security_policy
default adalahsandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';
. Anda dapat menentukan nilai CSP untuk lebih membatasi {i>sandbox<i}, tetapi {i>sandbox<i} harus memilikisandbox
dan mungkin tidak memiliki tokenallow-same-origin
(lihat HTML5 spesifikasi untuk kemungkinan token sandbox). Selain itu, CSP yang Anda tentukan mungkin tidak mengizinkan pemuatan konten web eksternal di dalam halaman yang di-sandbox.
Perhatikan bahwa Anda hanya perlu mencantumkan halaman yang diharapkan akan dimuat di windows atau frame. Sumber daya
digunakan oleh halaman dalam sandbox (misalnya stylesheet atau file sumber JavaScript) tidak perlu ditampilkan di
sandboxed_page
, mereka akan menggunakan sandbox halaman yang menyematkannya.
"Menggunakan eval di Ekstensi Chrome. Aman." menjelaskan lebih detail tentang cara menerapkan alur kerja sandbox yang memungkinkan penggunaan library yang Kebijakan Keamanan Konten default ekstensi Anda.
Halaman dengan sandbox hanya dapat ditentukan saat menggunakan manifest_version
2 atau yang lebih baru.