Sichere Cookies für Laravel konfigurieren

config/session.php absichern, Custom Cookies mit sicheren Defaults erstellen und Cookie-Attribute in der Produktion verifizieren.

Laravel · Schritt für Schritt

Cookie-Sicherheit in Laravel

Laravel verwaltet Session-Cookies zentral in config/session.php. Die drei wichtigsten Attribute sind Secure (nur HTTPS), HttpOnly (kein JavaScript-Zugriff) und SameSite (CSRF-Schutz). Sichere Cookies sind mit 15 von 166 Punkten ein wichtiger Faktor im Wolf-Agents Web Security Check.

Laravel verschlüsselt Cookies standardmäßig über die EncryptCookies-Middleware. In Kombination mit den richtigen Attributen bietet Laravel eine der sichersten Cookie-Implementierungen aller Frameworks.

1 Schritt 1 von 3

Session-Cookie konfigurieren

Die zentrale Cookie-Konfiguration erfolgt in config/session.php. Setzen Sie secure, http_only und same_site auf die empfohlenen Werte.

config/session.php Produktiv
// config/session.php
return [
    'driver' => env('SESSION_DRIVER', 'database'),
    'lifetime' => 120,
    'expire_on_close' => false,

    // Security-relevante Einstellungen
    'encrypt' => true,         // Cookie-Wert verschlüsseln
    'secure' => true,          // Nur über HTTPS senden
    'http_only' => true,       // Kein JavaScript-Zugriff
    'same_site' => 'lax',      // CSRF-Schutz

    'cookie' => env(
        'SESSION_COOKIE',
        'app_session'          // Neutraler Name (kein 'laravel_session')
    ),
];
Cookie-Name ändern

Ändern Sie den Standard-Cookie-Namen von laravel_session zu einem neutralen Namen wie app_session. Das erschwert Fingerprinting und verrät nicht, welches Framework Sie verwenden.

2 Schritt 2 von 3

Custom Cookies absichern

Auch eigene Cookies müssen mit sicheren Attributen gesetzt werden. Verwenden Sie die cookie()-Methode mit expliziten Parametern für Secure, HttpOnly und SameSite.

Controller oder Middleware Beispiel
// Custom Cookie mit sicheren Attributen
return response('OK')
    ->cookie(
        'preference',    // Name
        'dark-mode',     // Wert
        60,               // Minuten
        '/',              // Pfad
        null,             // Domain
        true,             // Secure
        true,             // HttpOnly
        false,            // Raw
        'Lax'              // SameSite
    );
3 Schritt 3 von 3

Verifizierung und häufige Fehler

Prüfen Sie Cookie-Attribute in den Browser DevTools unter Application/Storage und achten Sie auf die Spalten Secure, HttpOnly und SameSite.

secure: false in Development

Setzen Sie secure auf env('SESSION_SECURE_COOKIE', true) und SESSION_SECURE_COOKIE=false nur in .env.local. So funktioniert localhost ohne HTTPS.

SameSite und externe Redirects

SameSite=Strict blockiert Cookies bei Redirects von externen Seiten (z.B. E-Mail-Links). Verwenden Sie Lax für Session-Cookies, damit Top-Level-Navigationen funktionieren.

Compliance-Relevanz

OWASP ASVS — V3.4.1 fordert Secure, HttpOnly und SameSite für Session-Cookies. Laravels config/session.php erfüllt alle Anforderungen.
PCI DSS 4.0 — Requirement 6.5.10 fordert sichere Session-Verwaltung mit verschlüsselten, attributgeschützten Cookies.

Wie steht Ihre Domain bei Sichere Cookies?

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