feat: CSP enabled via src/middleware/csp.js (unsafe-inline, blocks external/frame/object)
This commit is contained in:
@@ -30,6 +30,7 @@ const { MOCK_USERS, backUrl } = require('./src/config');
|
||||
const { mutationLimiter, exportLimiter } = require('./src/middleware/rateLimit');
|
||||
const { initCsrf } = require('./src/middleware/csrf');
|
||||
const { createSessionMiddleware } = require('./src/middleware/session');
|
||||
const { cspMiddleware } = require('./src/middleware/csp');
|
||||
|
||||
const app = express();
|
||||
const PORT = process.env.PORT || 3000;
|
||||
@@ -38,9 +39,9 @@ app.set('view engine', 'ejs');
|
||||
app.set('views', path.join(__dirname, 'views'));
|
||||
|
||||
// ── Безопасность HTTP-заголовков ───────────────────────────────────────────────
|
||||
// helmet выставляет: X-Content-Type-Options, X-Frame-Options, Strict-Transport-Security,
|
||||
// Referrer-Policy и пр. CSP отключён явно — EJS использует inline-стили/скрипты.
|
||||
// helmet выставляет базовые заголовки; CSP вынесен в src/middleware/csp.js.
|
||||
app.use(helmet({ contentSecurityPolicy: false }));
|
||||
app.use(cspMiddleware);
|
||||
|
||||
// За reverse-proxy (nginx/k8s ingress) — доверяем первому хопу для secure cookies.
|
||||
if (process.env.NODE_ENV === 'production') app.set('trust proxy', 1);
|
||||
|
||||
Reference in New Issue
Block a user