Files
openclaw/memory/gitea-specs/issue-41.md
2026-05-22 14:42:55 +00:00

1.8 KiB
Raw Permalink Blame History

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