Sichere Cookies für Shopware 6
Session-Cookies absichern mit framework.yaml: SameSite, Secure und HttpOnly für Storefront- und Administration-Sessions.
Cookie-Sicherheit in Shopware 6
Sichere Cookie-Konfiguration schützt Session-Daten und Kundendaten vor Diebstahl und Manipulation. Shopware 6 nutzt Symfony-Sessions und setzt Cookies für Login, Warenkorb und CSRF-Schutz. Cookies sind mit 15 von 166 Punkten ein wichtiger Faktor im Wolf-Agents Web Security Check.
Die zentrale Konfiguration erfolgt über config/packages/framework.yaml im Abschnitt session. Hier setzen Sie cookie_secure, cookie_httponly und cookie_samesite für alle von Symfony verwalteten Session-Cookies. Für Custom Cookies aus Plugins nutzen Sie einen EventSubscriber.
Implementierung
Variante A (empfohlen): Session-Cookies über framework.yaml. Variante B: EventSubscriber für Custom Cookies, die nicht über Symfony-Sessions verwaltet werden.
# config/packages/framework.yaml — Session-Cookies
framework:
session:
# Cookie-Sicherheit
cookie_secure: auto
cookie_httponly: true
cookie_samesite: lax
# Session-Lebensdauer (Standard: 7200 = 2h)
gc_maxlifetime: 7200
# Cookie-Name anpassen (optional)
name: sw_session // EventSubscriber für zusätzliche Cookie-Header
public function onResponse(ResponseEvent $event): void
{
$response = $event->getResponse();
// Alle Cookies mit Secure und SameSite absichern
foreach ($response->headers->getCookies() as $cookie) {
if (!$cookie->isSecure()) {
$response->headers->setCookie(
Cookie::create($cookie->getName())
->withValue($cookie->getValue())
->withExpires($cookie->getExpiresTime())
->withPath($cookie->getPath())
->withDomain($cookie->getDomain())
->withSecure(true)
->withHttpOnly($cookie->isHttpOnly())
->withSameSite('lax')
);
}
}
} Der Wert auto setzt das Secure-Flag nur wenn die Verbindung über HTTPS läuft. Das ist sicherer als true, da Cookies in der lokalen Entwicklungsumgebung (HTTP) weiterhin funktionieren.
Verifizierung
Prüfen Sie die Cookie-Attribute im Network-Tab der Browser DevTools oder per curl.
# Cache leeren
bin/console cache:clear
# Set-Cookie-Header prüfen
curl -sI https://ihr-shop.de | grep -i set-cookie
# Erwartete Attribute: Secure; HttpOnly; SameSite=Lax Häufige Fehler
Plugin-Cookies ohne Secure-Flag
Shopware-Plugins können eigene Cookies setzen, die die framework.yaml-Konfiguration umgehen. Prüfen Sie alle Set-Cookie-Header in den DevTools und sichern Sie Plugin-Cookies per EventSubscriber ab.
SameSite=Strict bricht Payment-Redirects
Payment-Provider leiten den Kunden nach der Zahlung zurück zum Shop. Mit SameSite=Strict wird die Session nicht mitgesendet und der Warenkorb erscheint leer. Verwenden Sie Lax für E-Commerce.
Consent-Manager-Cookies nicht abgesichert
Der integrierte Cookie-Consent-Manager von Shopware setzt eigene Cookies. Stellen Sie sicher, dass auch diese Cookies Secure und HttpOnly Flags tragen.
Compliance-Anforderungen
Wie steht Ihre Domain bei Sichere Cookies?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.