En mi aplicación express js he habilitado el helmet para la implementación de seguridad
const app = express(); app.use(function (req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }); app.use(helmet( ));Después de configurar esto, obtengo un error de CSP en la consola de Chrome
Se negó a cargar el script 'https://code.jquery.com/jquery-3.4.1.min.js' porque infringe la siguiente directiva de Política de seguridad de contenido: "script-src 'self'". Tenga en cuenta que 'script-src-elem' no se configuró explícitamente, por lo que 'script-src' se usa como alternativa.
servidor local/:1
para resolver esto, he agregado la siguiente metaetiqueta
<meta http-equiv="Content-Security-Policy" content="script-src 'self' https://code.jquery.com/">Pero aún recibo el error, probé publicaciones similares en StackOverflow pero nada resolvió mi problema
Resuelva el problema que tengo que configurar el CSP a través de la configuración del casco
app.use(helmet.contentSecurityPolicy({ useDefaults: false, directives: { defaultSrc: ["'self'"], scriptSrc: ["'self'", "'unsafe-inline'","code.jquery.com","*.jsdelivr.net"], "style-src":["'self'","'unsafe-inline'","*.cloudflare.com","*.googleapis.com","*.jsdelivr.net"], "font-src":["'self'","*.gstatic.com","*.cloudflare.com","*.jsdelivr.net"], "img-src":["'self'","data:"] } }));