Cookie-Sicherheit: HttpOnly- und Secure-Flags
Schützen Sie Cookies mit den Attributen HttpOnly, Secure und SameSite.
Cookie-Sicherheit: HttpOnly- und Secure-Flags ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Das HttpOnly-Flag
Wenn ein Cookie das Flag HttpOnly besitzt, kann JavaScript nicht über document.cookie darauf zugreifen. Dadurch wird ein auf XSS basierender Sitzungsdiebstahl verhindert.
HttpOnly und Secure setzen
Verwenden Sie die Form mit einem Options-Array (PHP 7.3+) für übersichtlichen und gut lesbaren Code.
<?php
setcookie("session_id", $id, [
"expires" => time() + 3600,
"path" => "/",
"secure" => true,
"httponly" => true,
"samesite" => "Strict",
]);Das Secure-Flag
Ein Secure-Cookie wird nur über HTTPS gesendet. Bei HTTP-Verbindungen lässt der Browser es weg, wodurch das Abfangen über unverschlüsseltes HTTP verhindert wird.
Das SameSite-Attribut
SameSite steuert, wann Cookies mit siteübergreifenden Anfragen gesendet werden:
Strict— nur same-site-AnfragenLax— same-site-Anfragen + Navigationen auf oberster EbeneNone— siteübergreifend (erfordert Secure)
SameSite und CSRF
Das Setzen von SameSite auf Strict oder Lax mindert CSRF, weil das Sitzungs-Cookie bei gefälschten siteübergreifenden POST-Anfragen nicht gesendet wird.
Sitzungs-Cookie-Einstellungen in php.ini
Konfigurieren Sie die Standardsicherheit von Sitzungs-Cookies zur Laufzeit:
<?php
ini_set("session.cookie_httponly", "1");
ini_set("session.cookie_secure", "1");
ini_set("session.cookie_samesite", "Lax");
session_start();Cookie-Präfixe
Browser beachten Präfixe von Cookie-Namen:
__Secure-— das Cookie muss das Secure-Flag besitzen__Host-— muss Secure und Path=/ besitzen und darf kein Domain-Attribut haben
Beispiel für ein Cookie-Präfix
Verwenden Sie das Präfix __Host-, um ein Cookie an den exakten Host zu binden.
<?php
setcookie("__Host-session", $token, [
"secure" => true,
"httponly" => true,
"samesite" => "Strict",
"path" => "/",
]);Flags in DevTools überprüfen
Überprüfen Sie in den Browser-DevTools unter Application → Cookies: HttpOnly ist aktiviert, Secure ist aktiviert und SameSite zeigt Strict oder Lax an.
Ohne HttpOnly
Ein über XSS eingeschleustes schädliches Skript kann document.cookie ausführen, die Sitzungs-ID lesen und an einen Angreifer senden – und so das Konto übernehmen.
Ohne Secure
Auf einer gemischten HTTP-/HTTPS-Website wird das Sitzungs-Cookie unverschlüsselt über HTTP gesendet. Ein Angreifer, der den Netzwerkverkehr abhört, kann es stehlen.
Zusammenfassung
Setzen Sie bei Sitzungs- und Authentifizierungs-Cookies immer HttpOnly und Secure. Fügen Sie SameSite=Strict oder Lax hinzu. Verwenden Sie die Options-Array-Form von setcookie().
Kurztest
Welches Flag verhindert, dass JavaScript ein Cookie liest?
Lerne PHP mit einem KI-Tutor — kostenlos
Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.
- Kurse
- 49
- Lektionen
- 195
Häufig gestellte Fragen
Ist die Lektion „Cookie-Sicherheit: HttpOnly- und Secure-Flags“ kostenlos?
Ja — der vollständige Text von „Cookie-Sicherheit: HttpOnly- und Secure-Flags“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Cookie-Sicherheit: HttpOnly- und Secure-Flags“?
Schützen Sie Cookies mit den Attributen HttpOnly, Secure und SameSite. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Cookie-Sicherheit: HttpOnly- und Secure-Flags“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Sessions starten und verwenden
- Best Practices für die Session-Sicherheit
- Cookies setzen und auslesen
- Cookie-Sicherheit: HttpOnly- und Secure-Flags