Sicherheit: Content-Security-Policy (CSP) Header implementieren #41

Closed
opened 2026-05-19 15:42:28 +02:00 by greggy · 1 comment
Owner

Schwachstelle #9 – Kein CSP-Header

Die Seite hat keinen Content-Security-Policy-Header. Für eine statische Landingpage wäre ein strikter CSP einfach umsetzbar und würde XSS-Risiken weiter reduzieren.

Empfehlung

Strikten CSP-Header setzen, z.B.:

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/maps/; connect-src 'self'

Umsetzung

  • CSP-Header in index.php (oder nginx-Konfiguration) setzen
  • Testen dass alle Ressourcen (Fonts, Bilder, Maps-iframe) korrekt geladen werden
  • Falls nötig unsafe-inline für Styles vermeiden (NONCE oder HASH)

Priorität

🟡 Niedrig – aber einfach umsetzbar und gute Best Practice

## Schwachstelle #9 – Kein CSP-Header Die Seite hat keinen `Content-Security-Policy`-Header. Für eine statische Landingpage wäre ein strikter CSP einfach umsetzbar und würde XSS-Risiken weiter reduzieren. ### Empfehlung Strikten CSP-Header setzen, z.B.: ``` 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/maps/; connect-src 'self' ``` ### Umsetzung - CSP-Header in `index.php` (oder nginx-Konfiguration) setzen - Testen dass alle Ressourcen (Fonts, Bilder, Maps-iframe) korrekt geladen werden - Falls nötig `unsafe-inline` für Styles vermeiden (_NONCE_ oder _HASH_) ### Priorität 🟡 Niedrig – aber einfach umsetzbar und gute Best Practice
greggy added the
KI
label 2026-05-19 15:42:28 +02:00
greggy added the
KI
label 2026-05-22 01:03:19 +02:00
Author
Owner

Phase 1: Analyse abgeschlossen

Komplexität: S (Small)

Spezifikation

CSP-Header via .htaccess setzen:

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'

unsafe-inline für styles wird vorerst benötigt (inline style-Attribute in Views).

Akzeptanzkriterien

  • CSP-Header in jeder Response
  • Alle Ressourcen laden korrekt
  • Google Maps iframe funktioniert
  • Keine CSP-Verletzungen in Browser-Console

Status: ReadyForDev → Weiter zu Phase 2 (Implementierung)

## Phase 1: Analyse abgeschlossen ✅ **Komplexität: S (Small)** ### Spezifikation CSP-Header via `.htaccess` setzen: ``` 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' ``` **`unsafe-inline` für styles** wird vorerst benötigt (inline style-Attribute in Views). ### Akzeptanzkriterien - [x] CSP-Header in jeder Response - [ ] Alle Ressourcen laden korrekt - [ ] Google Maps iframe funktioniert - [ ] Keine CSP-Verletzungen in Browser-Console **Status: ReadyForDev** → Weiter zu Phase 2 (Implementierung)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: greggy/landingpage-haus-schleusingen#41
No description provided.