Aviso:a partir da versão 57, o Chrome não vai mais permitir conteúdo da Web externo (incluindo frames e scripts incorporados) em páginas em sandbox. Use uma webview.
Define uma coleção de páginas de apps ou extensões que serão veiculadas em uma origem única em sandbox e, opcionalmente, uma política de segurança de conteúdo para usar com elas. Estar em um sandbox tem duas implicações:
- Uma página isolada não terá acesso a APIs de extensão ou app nem acesso direto a
páginas sem sandbox (ela pode se comunicar com elas usando
postMessage()
). Uma página isolada não está sujeita à política de segurança de conteúdo (CSP, na sigla em inglês) usada pelo restante do app ou da extensão. Ela tem um valor de CSP separado. Isso significa que, por exemplo, ele pode usar o script inline e
eval
.Por exemplo, confira como especificar que duas páginas de extensão serão veiculadas em um sandbox com um CSP personalizado:
{ ... "sandbox": { "pages": [ "page1.html", "directory/page2.html" ] // content_security_policy is optional. "content_security_policy": "sandbox allow-scripts; script-src 'self'" ], ... }
Se não for especificado, o valor padrão de
content_security_policy
serásandbox allow-scripts allow-forms allow-popups allow-modals; script-src 'self' 'unsafe-inline' 'unsafe-eval'; child-src 'self';
. Você pode especificar o valor do CSP para restringir ainda mais o sandbox, mas ele precisa ter a diretivasandbox
e não pode ter o tokenallow-same-origin
. Consulte a especificação HTML5 para possíveis tokens de sandbox. Além disso, o CSP especificado pode não permitir o carregamento de conteúdo da Web externo em páginas em sandbox.
Você só precisa listar as páginas que espera que sejam carregadas em janelas ou frames. Os recursos
usados por páginas em sandbox (por exemplo, folhas de estilo ou arquivos de origem JavaScript) não precisam aparecer na
lista sandboxed_page
. Eles vão usar o sandbox da página que os incorpora.
"Usar eval em extensões do Chrome. com segurança". Ele aborda em mais detalhes a implementação de um fluxo de trabalho de sandbox que permite o uso de bibliotecas que, de outra forma, teriam problemas de execução na Política de segurança de conteúdo padrão da extensão.
A página isolada em sandbox só pode ser especificada ao usar manifest_version
2 ou mais recente.