fix: HSTS/CSP für lokale HTTP-Entwicklung deaktivieren + SW-Cache v10

- helmet: upgrade-insecure-requests und HSTS nur bei SESSION_SECURE=true
- Service Worker Cache-Version auf v10 hochgezählt
- Debug-Code aus router.js entfernt

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
ulsklyc
2026-03-25 23:50:47 +01:00
parent 76165da592
commit 520b8eb11a
2 changed files with 9 additions and 5 deletions
+3 -3
View File
@@ -12,9 +12,9 @@
* API: Immer Netzwerk (kein Caching von Nutzerdaten) * API: Immer Netzwerk (kein Caching von Nutzerdaten)
*/ */
const SHELL_CACHE = 'oikos-shell-v9'; const SHELL_CACHE = 'oikos-shell-v10';
const PAGES_CACHE = 'oikos-pages-v9'; const PAGES_CACHE = 'oikos-pages-v10';
const ASSETS_CACHE = 'oikos-assets-v9'; const ASSETS_CACHE = 'oikos-assets-v10';
const ALL_CACHES = [SHELL_CACHE, PAGES_CACHE, ASSETS_CACHE]; const ALL_CACHES = [SHELL_CACHE, PAGES_CACHE, ASSETS_CACHE];
// App-Shell: sofort benötigt für ersten Render // App-Shell: sofort benötigt für ersten Render
+6 -2
View File
@@ -30,6 +30,7 @@ const PORT = process.env.PORT || 3000;
// -------------------------------------------------------- // --------------------------------------------------------
// Security-Middleware // Security-Middleware
// -------------------------------------------------------- // --------------------------------------------------------
const isSecure = process.env.SESSION_SECURE !== 'false';
app.use(helmet({ app.use(helmet({
contentSecurityPolicy: { contentSecurityPolicy: {
directives: { directives: {
@@ -45,13 +46,16 @@ app.use(helmet({
fontSrc: ["'self'"], fontSrc: ["'self'"],
objectSrc: ["'none'"], objectSrc: ["'none'"],
frameSrc: ["'none'"], frameSrc: ["'none'"],
// upgrade-insecure-requests nur mit HTTPS aktivieren
upgradeInsecureRequests: isSecure ? [] : null,
}, },
}, },
hsts: { // HSTS nur mit HTTPS aktivieren
hsts: isSecure ? {
maxAge: 31536000, maxAge: 31536000,
includeSubDomains: true, includeSubDomains: true,
preload: true, preload: true,
}, } : false,
})); }));
// Trust Proxy für korrekte IP hinter Nginx // Trust Proxy für korrekte IP hinter Nginx