javascript - seguro - configuracion de contenido chrome
Política de seguridad de contenido en la aplicación Chrome (2)
¿Ha intentado agregar la línea CSP a su manifiesto según su enlace de CSP ?
"content_security_policy": "script-src ''self'' ''unsafe-eval''; object-src ''self''"
Mi aplicación de Chrome tiene el siguiente manifiesto:
{
"name": ",
"version": "1.0.3",
"manifest_version": 2,
"description": "Chrome Extension for.",
"icons": {
"16": "images/test.png",
"19": "images/test.png",
"256": "images/test.png"
},
"app": {
"background": {
"scripts": [
"background.js"
]
}
},
"sandbox": {
"js": [
"lib/test-api.js"
]
},
"permissions": [
"<all_urls>",
"notifications",
"storage",
"videoCapture"
]
}
Tengo un archivo de script que ejecuta eval
. He leído sobre CSP y sandboxing, pero sigo recibiendo este error:
Se negó a evaluar una cadena como JavaScript porque ''unsafe-eval'' no es una fuente de script permitida en la siguiente directiva de Política de seguridad de contenido: "default-src ''self'' chrome-extension-resource:". Tenga en cuenta que ''script-src'' no se estableció explícitamente, por lo que ''default-src'' se usa como una alternativa.
Lo que estás mostrando no es una extensión de Chrome , sino una aplicación de Chrome .
Las extensiones de Chrome te permitirán relajar la Política de seguridad de contenido predeterminada; Las aplicaciones de Chrome no lo harán. (fuente: documentos de CSP para aplicaciones de Chrome ; nota: esta página es diferente de los documentos de CSP para las extensiones de Chrome ).
La siguiente línea se aplica a las aplicaciones y extensiones:
- La política de seguridad de contenido no se aplica a un script específico, sino a toda una página. Por lo tanto, solo puede declarar un sandbox para una página completa (usando la tecla
sandbox.pages
en el archivo de manifiesto ). No puede utilizar "js" como clave en el sandbox.
En una extensión de Chrome, el CSP se puede relajar, por ejemplo, permitiendo eval
utilizando la siguiente política:
"content_security_policy": "script-src ''self'' ''unsafe-eval''; object-src ''self''"
Para convertir su aplicación en una extensión : No use la tecla de apps
, pero use una tecla de background
. Con el siguiente manifiesto, podrás usar eval
en tu página de fondo:
{
"name": "Whatever",
"version": "1.0.3",
"manifest_version": 2,
"background": {
"scripts": [
"background.js"
]
},
"content_security_policy": "script-src ''self'' ''unsafe-eval''; object-src ''self''"
}
(se omitieron los icons
/ permissions
porque no son relevantes para el ejemplo; se omite el sandbox
porque no es necesario)