#express #content-security-policy
Вопрос:
У меня есть экспресс — сервер, работающий со следующей настройкой, но заголовки ответов Политики безопасности содержимого не отображаются в инструментах разработки Chrome- есть идеи?
const express = require('express');
const app = express();
app.use((req, res, next) => {
res.setHeader(
'Content-Security-Policy',
"default-src 'self'; font-src 'self'; img-src 'self'; script-src 'self'; style-src 'self'; frame-src 'self'; upgrade-insecure-requests;"
);
next();
});
app.get('*', (req, res) => {
res.sendFile(path.join(__dirname, 'server/static/index.html'));
});
Ответ №1:
Это не заголовок, а просто заголовок
export function headers (req, res, next){
res.header("Access-Control-Allow-Origin", "http://localhost:3000");
res.header("Access-Control-Allow-Credentials", "true");
res.header("Access-Control-Allow-Methods", "OPTIONS,HEAD,GET,PUT,POST,PATCH");
res.header("Accept-Language", "es, en");
res.header(
"Content-Security-Policy",
"default-src 'self'; base-uri: 'self'; strict-dynamic 'self'; manifest-src 'self'; script-src 'self'; style-src 'self'"
);
res.header(
"Access-Control-Allow-Headers",
"Origin, Csrf-Token, Accept-Language, Content-Type, Accept, Range"
);
next();
}
....
express.use(headers);
Существует один шлем для вызова пакетов, который является обязательным для любого экспресс-приложения
Комментарии:
1. Я попробовал шлем, но также не смог заставить работать политику безопасности контента.
2. использование
res.header
тоже не сработало. Явно что-то с моей установкой. Это работает на локальном хосте:3001 — имеет ли это какое-либо значение?