fix(csp): frame-ancestors auf 'self' – PDF-Vorschau-iframe ging nicht
Das CSP `frame-ancestors 'none'` blockte ALLE iframe-Embeddings, auch same-origin – damit ließ sich die annotierte PDF-Vorschau im Editor für PDF-Auftragsvorlagen nicht laden. Browser zeigten je nach Variante "Verbindung abgelehnt" oder einen CSP-Violation-Fehler. CSP überschreibt X-Frame-Options, der alte SAMEORIGIN-Header reichte also nicht aus. Auf 'self' wechseln: eigene App darf eigene Resourcen embeden, externe Sites weiterhin gesperrt (was X-Frame-Options bereits regelt). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -169,7 +169,11 @@ app.use(
|
|||||||
'img-src': ["'self'", 'data:', 'blob:'],
|
'img-src': ["'self'", 'data:', 'blob:'],
|
||||||
'font-src': ["'self'", 'data:'],
|
'font-src': ["'self'", 'data:'],
|
||||||
'connect-src': ["'self'"],
|
'connect-src': ["'self'"],
|
||||||
'frame-ancestors': ["'none'"],
|
// 'self': eigene App darf eigene Resourcen in iframes embeden (z.B. die
|
||||||
|
// annotierte PDF-Vorschau in der Auftragsvorlagen-Konfiguration).
|
||||||
|
// 'none' würde sogar same-origin blocken und damit die UI brechen.
|
||||||
|
// Externe Sites bleiben weiterhin gesperrt.
|
||||||
|
'frame-ancestors': ["'self'"],
|
||||||
'object-src': ["'none'"],
|
'object-src': ["'none'"],
|
||||||
'base-uri': ["'self'"],
|
'base-uri': ["'self'"],
|
||||||
'form-action': ["'self'"],
|
'form-action': ["'self'"],
|
||||||
|
|||||||
@@ -97,6 +97,14 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
|||||||
|
|
||||||
## ✅ Erledigt
|
## ✅ Erledigt
|
||||||
|
|
||||||
|
- [x] **🐛 PDF-Vorschau im PDF-Template-Editor lädt nicht**
|
||||||
|
- CSP-Direktive `frame-ancestors 'none'` blockte ALLE iframe-Embeddings
|
||||||
|
der eigenen Resourcen, auch same-origin – Browser zeigte je nach
|
||||||
|
Variante "Verbindung abgelehnt" oder CSP-Violation.
|
||||||
|
- Fix: `frame-ancestors 'self'` (statt `'none'`). App darf eigene
|
||||||
|
Resourcen embeden (z.B. die annotierte PDF-Vorschau), externe Sites
|
||||||
|
bleiben weiterhin gesperrt.
|
||||||
|
|
||||||
- [x] **🔁 Factory-Defaults Sync-Scripts (dev ↔ prod ↔ Image)**
|
- [x] **🔁 Factory-Defaults Sync-Scripts (dev ↔ prod ↔ Image)**
|
||||||
- `./factory-export.sh` zieht eine ZIP per API in `factory-exports/`
|
- `./factory-export.sh` zieht eine ZIP per API in `factory-exports/`
|
||||||
(gitignored Drop-Box).
|
(gitignored Drop-Box).
|
||||||
|
|||||||
Reference in New Issue
Block a user