Definisce una raccolta di pagine di estensioni da pubblicare in un'origine unica sandbox. La
Il criterio di sicurezza del contenuto utilizzato dalle pagine con sandbox di un'estensione viene specificato in
"content_security_policy"
.
Essere all'interno di una sandbox ha due implicazioni:
- Una pagina con sandbox non avrà accesso alle API delle estensioni né potrà accedere direttamente a
pagine senza sandbox (potrebbe comunicare con queste pagine utilizzando
postMessage()
). - Una pagina con sandbox non è soggetta ai Criteri di sicurezza del contenuto (CSP) utilizzati dal resto di:
dell'estensione (ha un proprio valore CSP separato). Ciò significa che, ad esempio, può
usano script incorporato e
eval()
.
Ad esempio, ecco come specificare che due pagine di estensione devono essere pubblicate in una sandbox con un CSP personalizzato:
{
...
"content_security_policy": {
"sandbox": "sandbox allow-scripts; script-src 'self' https://example.com"
},
"sandbox": {
"pages": [
"page1.html",
"directory/page2.html"
]
},
...
}
Se non specificato, il valore predefinito di "content_security_policy"
è sandbox allow-scripts allow-forms
allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';
.
Puoi specificare il valore CSP per limitare ulteriormente la sandbox, ma DEVE includere il parametro
"sandbox"
e NON DEVONO contenere il token allow-same-origin
(vedi la guida HTML5
specifica per i possibili token sandbox).
Tieni presente che devi elencare solo le pagine che prevedi di caricare in finestre o frame. Risorse
utilizzati dalle pagine con sandbox (ad es. i fogli di stile o i file sorgente JavaScript) non devono necessariamente comparire nel
pages
perché utilizzeranno la sandbox del frame che li incorpora.
L'articolo "L'utilizzo di eval() nelle Estensioni di Chrome" approfondisce ulteriormente l'implementazione di una funzione un flusso di lavoro di sandboxing, che consente l'utilizzo di librerie che altrimenti avrebbero problemi di esecuzione il criterio di sicurezza del contenuto predefinito dell'estensione.