Sichere Cookies in Contao konfigurieren

Cookie-Sicherheit in Contao über framework.yaml und PHP-Konfiguration — Secure, HttpOnly, SameSite und Session-Hardening. Mit Verifizierung.

Contao · Schritt für Schritt

Sichere Cookie-Konfiguration in Contao

Sichere Cookies schützen Session-Daten vor Diebstahl durch XSS- und Man-in-the-Middle-Angriffe. Die Attribute Secure, HttpOnly und SameSite sind mit 15 von 166 Punkten im Wolf-Agents Web Security Check relevant.

Contao nutzt Symfonys Session-Management. Die zentrale Konfiguration erfolgt in config/packages/framework.yaml. Alternativ können Sie die PHP-Session-Einstellungen direkt über .user.ini oder php.ini setzen. framework.yaml hat dabei Vorrang vor PHP-Einstellungen.

Cookie-Konfiguration in Contao

Die zentrale Konfiguration erfolgt in framework.yaml. cookie_secure: auto setzt das Secure-Flag automatisch, wenn die Verbindung über HTTPS läuft. Alternativ nutzen Sie PHP-Einstellungen als Fallback.

framework.yaml (empfohlen)
config/packages/framework.yaml Empfohlen
# config/packages/framework.yaml
framework:
  session:
    cookie_secure: auto
    cookie_httponly: true
    cookie_samesite: lax
    cookie_lifetime: 0
    gc_maxlifetime: 1440
    gc_probability: 1
    gc_divisor: 100
PHP-Konfiguration
.user.ini Fallback
; .user.ini oder php.ini — Session-Sicherheit
session.cookie_secure = 1
session.cookie_httponly = 1
session.cookie_samesite = Lax
session.use_strict_mode = 1
session.use_only_cookies = 1

Verifizierung

Prüfen Sie die Cookie-Attribute im Browser unter DevTools > Application > Cookies. Jeder Session-Cookie muss die Attribute Secure, HttpOnly und SameSite=Lax tragen.

Terminal Verifizierung
# Cache leeren
vendor/bin/contao-console cache:clear

# Set-Cookie-Header prüfen
curl -sI https://ihre-domain.de | grep -i set-cookie

# Erwartete Ausgabe:
# Set-Cookie: PHPSESSID=...; path=/; secure; HttpOnly; SameSite=Lax

Häufige Fehler bei Cookies in Contao

contao-console cache:clear vergessen

Änderungen an framework.yaml werden erst nach vendor/bin/contao-console cache:clear wirksam. Ohne Cache-Invalidierung werden die alten Session-Einstellungen verwendet.

cookie_secure auf HTTP-Entwicklungsumgebung

Mit cookie_secure: true (statt auto) auf einer lokalen HTTP-Umgebung werden Session-Cookies nicht gesendet — Sie können sich nicht einloggen. Nutzen Sie auto oder setzen Sie den Wert nur in der Produktiv-Config.

Contao-Extension setzt eigene Cookies ohne Flags

Manche Extensions setzen eigene Cookies ohne Secure/HttpOnly-Flags. Prüfen Sie in den Browser DevTools alle Cookies Ihrer Domain. Extensions, die setcookie() direkt aufrufen, umgehen die framework.yaml-Konfiguration.

Compliance-Relevanz

Sichere Cookie-Konfiguration ist eine direkte Anforderung aus Datenschutz- und Sicherheitsframeworks.

NIS2Art. 21(e) — Sicherheit bei Erwerb, Entwicklung und Wartung von Informationssystemen
DSGVOArt. 32 — Technische Maßnahmen zum Schutz personenbezogener Daten
BSIAPP.3.1 — Sichere Session-Verwaltung in Webanwendungen

Wie steht Ihre Domain bei Sichere Cookies?

Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.