Wenn InspectWP Cookies ohne Secure-, HttpOnly- oder SameSite-Flags meldet, ist deine Seite möglicherweise anfällig für Session-Hijacking, XSS-basiertes Cookie-Stehlen oder CSRF-Angriffe. So behebst du jedes Flag.
WordPress Session-Cookies härten
WordPress-Core-Cookies (wordpress_logged_in_*, wordpress_sec_*) können durch Hinzufügen des Folgenden in deine wp-config.php gehärtet werden:
// Secure Cookies erzwingen (nur HTTPS)
define('COOKIE_DOMAIN', 'example.com');
define('COOKIEPATH', '/');
// Secure-Flag für Auth-Cookies aktivieren
@ini_set('session.cookie_secure', '1');
@ini_set('session.cookie_httponly', '1');
@ini_set('session.cookie_samesite', 'Lax');Secure und HttpOnly über PHP erzwingen
Für PHP 7.3+ kannst du alle Cookie-Standardwerte in php.ini oder .htaccess setzen:
# In .htaccess
php_value session.cookie_secure 1
php_value session.cookie_httponly 1
php_value session.cookie_samesite "Lax"Cookies über HTTP-Header beheben (Apache)
Du kannst alle Cookies auch auf Server-Ebene mit der Header-Direktive ändern:
# In .htaccess
<IfModule mod_headers.c>
Header always edit Set-Cookie ^(.*)$ "$1; Secure; HttpOnly; SameSite=Lax"
</IfModule>Hinweis: Dieser Ansatz fügt die Flags zu jedem Cookie hinzu, das vom Server gesetzt wird, einschließlich Plugin-Cookies. Teste gründlich, um sicherzustellen, dass keine Funktionalität beeinträchtigt wird.
Cookies über HTTP-Header beheben (Nginx)
Für Nginx verwende proxy_cookie_flags (Nginx 1.19.3+) oder ändere den Set-Cookie-Header:
# In nginx.conf oder Site-Konfiguration
proxy_cookie_flags ~ secure httponly samesite=lax;
# Alternative für ältere Nginx-Versionen:
# proxy_cookie_path / "/; Secure; HttpOnly; SameSite=Lax";Plugin-Cookies beheben
Manche Plugins setzen eigene Cookies ohne Sicherheitsflags. Häufige Kandidaten sind:
- Cookie-Consent-Plugins — Prüfe die Plugin-Einstellungen auf Cookie-Sicherheitsoptionen.
- Analytics-Plugins — Diese setzen oft Tracking-Cookies ohne Flags.
- Caching-Plugins — Cache-Identifier-Cookies können Flags fehlen.
Wenn ein Plugin keine Sicherheitsflag-Optionen bietet, ist der Server-Level-Ansatz (Apache/Nginx-Header) die zuverlässigste Lösung.
Die Behebung überprüfen
- Wende die Änderungen an und lösche deine Browser-Cookies.
- Besuche deine Seite und prüfe die Cookies in den Entwicklertools deines Browsers (Application → Cookies).
- Jedes Cookie sollte Häkchen für Secure und HttpOnly zeigen und Lax oder Strict für SameSite anzeigen.
- Führe InspectWP erneut aus, um zu bestätigen, dass alle Cookie-Warnungen behoben sind.
Wichtige Hinweise
- Das Secure-Flag erfordert HTTPS. Stelle sicher, dass deine Seite vollständig auf HTTPS läuft, bevor du es aktivierst.
- SameSite=Strict kann Login-Abläufe von externen Links unterbrechen (z. B. Passwort-Reset-Links per E-Mail). Verwende Lax als sicheren Standard.
- Third-Party-Embeds, die auf Cross-Site-Cookies angewiesen sind (z. B. Payment-Gateways), benötigen möglicherweise
SameSite=None; Secure, um zu funktionieren.