Auto-commit: 2026-05-22 14:42

This commit is contained in:
OpenClaw
2026-05-22 14:42:55 +00:00
parent d8db022c65
commit c3e17a04e0
28 changed files with 1197 additions and 1 deletions

View File

@@ -0,0 +1,47 @@
# 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-inline` fuer 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.de` nutzen
- `unsafe-inline` styles: View-Templates nutzen `style="..."` Attribute
### Sicherheitsrisiken
- `unsafe-inline` fuer styles: Minimales Risiko, aber acceptable fuer Landingpage
- Keine `unsafe-eval` oder `unsafe-inline` fuer scripts