Sichere Cookie-Konfiguration in PHP
Schritt-für-Schritt-Anleitung: Session-Cookies und eigene Cookies in PHP absichern — mit .user.ini, session_set_cookie_params() und dem __Host-Prefix.
Sichere Cookie-Konfiguration in PHP
Sichere Cookies schützen Session-Daten vor Session-Hijacking, XSS und CSRF. PHP bietet sowohl php.ini/.user.ini-Direktiven für Session-Cookies als auch die setcookie()-Funktion mit Options-Array (ab PHP 7.3). Mit 15 von 166 Punkten im Wolf-Agents Web Security Check.
PHP-Sessions werden standardmäßig ohne Secure, HttpOnly und SameSite-Attribute gesetzt. Das macht sie anfällig für Angriffe. Mit der .user.ini können Sie alle Session-Cookie-Attribute zentral konfigurieren — ohne Code-Änderungen.
Session-Cookies in .user.ini absichern
Konfigurieren Sie alle Session-Cookie-Attribute zentral in der .user.ini. Der __Host--Prefix erzwingt Secure, Path=/ und verhindert Domain-Attribute — maximale Sicherheit für Session-Cookies.
; .user.ini — Session-Cookie-Sicherheit
session.cookie_secure = On
session.cookie_httponly = On
session.cookie_samesite = Lax
session.use_strict_mode = On
session.use_only_cookies = On
session.cookie_lifetime = 0
session.name = __Host-PHPSESSID Häufige Fehler
session_start() vor session_set_cookie_params()
session_set_cookie_params() muss vor session_start() aufgerufen werden. Andernfalls werden die Standard-Attribute verwendet. Besser: Konfiguration in .user.ini — dort gilt sie automatisch.
SameSite=Strict bricht OAuth-Flows
SameSite=Strict blockiert Cookies bei Cross-Site-Redirects — OAuth-Callbacks verlieren die Session. Verwenden Sie SameSite=Lax als sicheren Standard, der Top-Level-Navigationen erlaubt.
__Host-Prefix ohne Secure
Der __Host--Prefix erfordert Secure und Path=/. Ohne diese Attribute ignoriert der Browser den Cookie komplett. Stellen Sie sicher, dass Ihre Seite über HTTPS erreichbar ist.
Compliance-Relevanz
Wie steht Ihre Domain bei Sichere Cookies?
Prüfen Sie es jetzt — kostenlos, ohne Registrierung, mit 166 Prüfpunkte.