Die Interaktion von SameSite-Cookies mit Cloudflare verstehen
Überblick
Das SameSite-Cookie von Google Chrome ändert die Art und Weise, wie Google Chrome mit der SameSite-Kontrolle umgeht. Google erzwingt SameSite zu Schutz vor Marketing-Cookies, die Benutzer verfolgen, und Cross-Site-Request-Forgery (CSRF), das Angreifern erlaubt, Ihre Cookies zu stehlen oder zu manipulieren.
Das SameSite-Cookie verfügt über drei verschiedene Modi:
- Strict: Cookies werden vom Erstanbieter (der besuchten Domain) erstellt. Beispielsweise wird von Cloudflare beim Besuch von Cloudflare.com ein Erstanbieter-Cookie gesetzt.
- Lax : Cookies werden nur an den Domain-Apex gesendet (z. B. *.foo.com). Zum Beispiel, wenn jemand (blog.naughty.com) ein Bild (img.foo.com/bar.png) mit einem Hotlink verknüpft hat, sendet der Client kein Cookie an img.foo.com, da es weder um den Erstanbieter noch um Apex-Kontext handelt.
- None : Cookies werden mit allen Anfragen gesendet.
Die SameSite-Einstellungen für Cloudflare-Cookies umfassen:
Cloudflare-Cookie | SameSite-Einstellung | Nur HTTPS |
---|---|---|
__cfduid | SameSite=Lax | Nein |
__cf_bm | SameSite=None; Secure | Ja |
cf_clearance | SameSite=None; Secure | Ja |
__cfruid | SameSite=None; Secure | Ja |
__cflb | SameSite=Lax | Nein |
Bekannte Probleme mit SameSite- und cf_clearance-Cookies
Wenn eine Cloudflare CAPTCHA oder JavaScript-Challenge gelöst wird, z. B. für eine Firewall Rule oder eine IP Access Rule, wird im Client-Browser ein cf_clearance-Cookie gesetzt. Das cf_clearance-Cookie hat eine Standardlebensdauer von 30 Minuten, wird jedoch über Challenge-Zeitfenster auf der Registerkarte Einstellungen in der Cloudflare Firewall-App konfiguriert.
Cloudflare verwendet SameSite=None seit dem cf_clearance-Cookie, sodass Besucheranfragen von verschiedenen Hostnamen nicht mit nachfolgenden Challenges oder Fehlern beantwortet werden. Wenn SameSite=None verwendet wird, muss dies in Verbindung mit dem Secure-Flag gesetzt werden.
Für die Verwendung des Secure-Flags muss das Cookie über eine HTTPS-Verbindung gesendet werden. Das cf_clearance-Cookie wird standardmäßig auf SameSite=Lax gesetzt, wenn Sie HTTP auf irgendeinem Teil Ihrer Website verwenden, was Probleme mit der Website verursachen kann.
Wenn Sie auf irgendeinem Teil Ihrer Website HTTP verwenden, wird das cf_clearance-Cookie standardmäßig auf SameSite=Lax gesetzt, was dazu führen kann, dass Ihre Website nicht richtig funktioniert. Um das Problem zu beheben, verlagern Sie Ihren Website-Traffic auf HTTPS. Cloudflare bietet zwei Features zur Unterstützung an: