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.
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.
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 — 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> 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.
# /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 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
// 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;
} "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.
# 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) 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.