1.8 KiB
1.8 KiB
Issue #41 – CSP Header implementieren
Komplexität: S (Small)
- Header-Zeile in index.php oder .htaccess hinzufügen
- Geschätzter Aufwand: < 30 Min
Analyse
Statische Landingpage, keine dynamischen Scripte von Drittanbietern. CSP kann sehr restriktiv sein.
Externe Ressourcen
- Google Maps iframe:
frame-src https://www.google.com/maps/ - Lokale Fonts:
/fonts/→'self' - Lokale CSS:
/css/→'self' - Lokale JS:
/js/haus-schleusingen.js→'self' - Bilder:
'self' data:(fuer inline-Bilder) unsafe-inlinefuer Styles vermeiden → pruefen ob noetig
Architektur-Entscheidung
CSP Header in public/.htaccess setzen (nicht in PHP), da:
- Zentraler Ort, einfach wartbar
- Kein PHP-Code noetig
- Apache-spezifisch, aber das ist die Produktionsumgebung
CSP-Richtlinie
Content-Security-Policy: default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; frame-src https://www.google.com/ https://www.google.de/; connect-src 'self'
Hinweis: unsafe-inline fuer styles vorerst beibehalten, da inline-styles in Views verwendet werden (z.B. hero-bg style="background-image:..."). Spaeter durch Nonce/Hash ersetzen.
Akzeptanzkriterien
- CSP-Header wird in jeder Response gesendet
- Alle Ressourcen (CSS, JS, Fonts, Bilder) laden korrekt
- Google Maps iframe funktioniert
- Keine CSP-Verletzungen im Browser-Console
Abhängigkeiten
Keine. Unabhaengig von anderen Issues.
Edge Cases
data:URIs fuer Bilder ->img-src 'self' data:- Google Maps iframe kann auch
www.google.denutzen unsafe-inlinestyles: View-Templates nutzenstyle="..."Attribute
Sicherheitsrisiken
unsafe-inlinefuer styles: Minimales Risiko, aber acceptable fuer Landingpage- Keine
unsafe-evaloderunsafe-inlinefuer scripts