Clear-Site-Data für LiteSpeed konfigurieren

Schritt-für-Schritt-Anleitung: Browser-Daten beim Logout auf LiteSpeed löschen — per .htaccess-Condition, vhconf.conf oder direkt im PHP-Framework.

LiteSpeed · Schritt für Schritt

Clear-Site-Data auf LiteSpeed

Clear-Site-Data weist den Browser an, gespeicherte Daten (Cookies, Cache, LocalStorage, SessionStorage) zu löschen. Der primäre Einsatzzweck: Beim Logout sicherstellen, dass keine sensiblen Daten im Browser zurückbleiben — weder im Cache noch im Storage. Ein sauberer Logout ist die Grundlage für sichere Session-Verwaltung.

Auf LiteSpeed gibt es drei Wege: Per .htaccess mit einer Condition für den Logout-Pfad, über die vhconf.conf mit einem pfadspezifischen Context, oder direkt im PHP-Framework. Die Framework-Methode ist am präzisesten, da der Header nur bei der tatsächlichen Logout-Response gesendet wird. Der Wolf-Agents Web Security Check bewertet Clear-Site-Data mit bis zu 3 Punkten.

1 Variante 1: .htaccess

Clear-Site-Data per .htaccess-Condition

Setzen Sie den Header nur für den Logout-Pfad. Zwei Methoden: Die <If>-Direktive (LiteSpeed Enterprise) oder eine RewriteRule mit Environment-Variable (auch OpenLiteSpeed). Ohne Pfad-Condition wird der Header auf jeder Seite gesendet und macht die Website unbenutzbar.

.htaccess Logout-Pfad
# .htaccess — Clear-Site-Data nur beim Logout

# Methode 1: If-Direktive (LiteSpeed Enterprise)
<IfModule mod_headers.c>
    <If "%{REQUEST_URI} =~ m#^/logout#">
        Header always set Clear-Site-Data '"cache", "cookies", "storage"'
    </If>
</IfModule>

# Methode 2: RewriteRule (auch OpenLiteSpeed)
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^logout$ - [E=CLEAR_DATA:1]
</IfModule>
<IfModule mod_headers.c>
    Header always set Clear-Site-Data '"cache", "cookies", "storage"' env=CLEAR_DATA
</IfModule>
2 Variante 2: vhconf.conf

Virtual-Host-Konfiguration

Auf eigenen Servern ist die vhconf.conf die sauberste Lösung. Erstellen Sie einen eigenen Context für den Logout-Pfad. Die Web Admin Console (Port 7080) bietet das gleiche unter Virtual Hosts > [vhost] > Context > Header Operations.

vhconf.conf Eigener Server
# /usr/local/lsws/conf/vhosts/example/vhconf.conf
# Pfadspezifischer Context für Logout

context /logout {
  type                    NULL
  location                $DOC_ROOT/logout

  extraHeaders {
    Header always set Clear-Site-Data '"cache", "cookies", "storage"'
  }
}

# Web Admin Console Pfad:
# Server Config > Virtual Hosts > [vhost] > Context
# URI: /logout > Header Operations
3 Variante 3: PHP-Framework

Header im Anwendungs-Framework setzen

Die bevorzugte Methode: Den Header direkt in der Logout-Funktion Ihres Frameworks setzen. Präzise Kontrolle, keine Abhängigkeit von der Webserver-Konfiguration und automatische Kompatibilität mit OpenLiteSpeed und Enterprise.

PHP-Logout Empfohlen
<?php
// PHP auf LiteSpeed — Clear-Site-Data beim Logout
// Empfohlene Methode: Header direkt im Framework setzen

function logout(): void {
    // Session zerstören
    session_destroy();

    // Clear-Site-Data Header senden
    header('Clear-Site-Data: "cache", "cookies", "storage"');

    // Optional: Auch LSCache für die Logout-Response deaktivieren
    header('X-LiteSpeed-Cache-Control: no-cache');

    // Redirect zur Startseite
    header('Location: /', true, 302);
    exit;
}
Was genau löscht Clear-Site-Data?

"cache" leert den HTTP-Cache des Browsers. "cookies" löscht alle Cookies der Domain (inklusive HttpOnly-Cookies). "storage" löscht LocalStorage, SessionStorage, IndexedDB und Service-Worker-Registrierungen. Zusammen sorgen alle drei dafür, dass nach dem Logout keinerlei Sitzungsdaten im Browser verbleiben.

Konfiguration testen und verifizieren

Prüfen Sie, dass der Header nur beim Logout-Request erscheint — nicht auf anderen Seiten. Auf normalen Seiten darf der Header nicht vorhanden sein. Der Wolf-Agents Web Security Check verifiziert den Clear-Site-Data-Header automatisch.

Terminal Verifizierung
# 1. Graceful Restart (falls .htaccess geändert)
/usr/local/lsws/bin/lswsctrl restart

# 2. Logout-Endpoint testen
curl -sI https://ihre-domain.de/logout | grep -i clear-site

# Erwartete Ausgabe:
# Clear-Site-Data: "cache", "cookies", "storage"

# 3. Prüfen, dass der Header NICHT auf anderen Seiten erscheint
curl -sI https://ihre-domain.de | grep -i clear-site
# (Keine Ausgabe erwartet)

# 4. Startseite und andere Pfade testen
curl -sI https://ihre-domain.de/dashboard | grep -i clear-site
# (Keine Ausgabe erwartet)
Testen Sie auch im Browser: Öffnen Sie die DevTools (F12), loggen Sie sich ein, dann aus. Im Network-Tab sollte die Logout-Response den Clear-Site-Data-Header enthalten. Anschließend müssen Storage und Cookies leer sein.

Häufige Fehler bei Clear-Site-Data auf LiteSpeed

Diese LiteSpeed-spezifischen Fehler treten bei der Clear-Site-Data-Konfiguration am häufigsten auf.

Header auf allen Seiten gesetzt

Ohne Condition wird Clear-Site-Data auf jeder Seite gesendet. Cookies und Cache werden bei jedem Seitenaufruf gelöscht — die Website ist unbenutzbar. Immer mit Pfad-Condition verwenden.

.htaccess cached — Condition nicht aktiv

LiteSpeed cached .htaccess. Nach Änderungen an RewriteRules oder If-Conditions ist ein Graceful Restart zwingend: /usr/local/lsws/bin/lswsctrl restart

If-Direktive auf OpenLiteSpeed nicht verfügbar

Die <If>-Direktive funktioniert nur auf LiteSpeed Enterprise. Auf OpenLiteSpeed verwenden Sie die RewriteRule-Methode mit Environment-Variable oder die PHP-Methode.

LSCache cached die Logout-Response

Wenn LSCache die Logout-Response cached, erhalten andere Benutzer den Clear-Site-Data-Header. Deaktivieren Sie LSCache für den Logout-Pfad per X-LiteSpeed-Cache-Control: no-cache.

Web Admin Console überschreibt .htaccess

Header der Web Admin Console haben Vorrang. Wenn dort ein Context für den Logout-Pfad existiert, wird die .htaccess-Konfiguration ignoriert.

Safari-Kompatibilität

Safari unterstützt Clear-Site-Data seit Version 16.4. Ältere Safari-Versionen ignorieren den Header. Die PHP-Session-Destroy-Methode sollte als Fallback immer implementiert sein.

Compliance-Relevanz

DSGVO (Art. 17) gibt Nutzern das Recht auf Löschung — Clear-Site-Data entfernt beim Logout alle browserseitig gespeicherten Daten automatisch. PCI DSS 4.0 (Anforderung 8.2.8) fordert den Schutz von Session-Daten nach dem Logout. BSI IT-Grundschutz (APP.3.1.A14) empfiehlt die vollständige Bereinigung von Sitzungsdaten. NIS2 verlangt technische Maßnahmen zur Datensicherheit. Der Wolf-Agents Web Security Check bewertet Clear-Site-Data mit bis zu 3 Punkten.

Wie steht Ihre Domain bei Clear-Site-Data?

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

Häufig gestellte Fragen

Wann wird Clear-Site-Data gesendet?

Nur bei der Logout-Response. Der Header sollte NICHT auf jeder Seite gesendet werden — sonst werden bei jedem Seitenaufruf Cookies, Cache und Storage gelöscht. Setzen Sie ihn nur für den Logout-Endpoint.

Kann ich Clear-Site-Data per .htaccess setzen?

Ja, mit einer If-Direktive (LiteSpeed Enterprise) oder RewriteRule-Condition (auch OpenLiteSpeed) für den Logout-Pfad. Die bevorzugte Methode ist jedoch das Anwendungs-Framework, da der Header nur bei der tatsächlichen Logout-Response gesendet werden sollte.

Löscht Clear-Site-Data auch LSCache?

Nein. Clear-Site-Data löscht Browser-Daten (Cookies, Cache, Storage). LSCache ist ein serverseitiger Cache und wird nicht beeinflusst. Für LSCache-Purge nutzen Sie die LiteSpeed-eigenen Mechanismen.

Gibt es einen Unterschied zwischen OpenLiteSpeed und Enterprise?

Die If-Direktive funktioniert nur auf LiteSpeed Enterprise. Auf OpenLiteSpeed verwenden Sie die RewriteRule-Methode mit Environment-Variable. Die PHP-Methode funktioniert auf beiden Versionen.