Dokumentace Domluvit pilot

Interakce cookies SameSite s Cloudflare

Google Chrome vynucuje chování cookies SameSite ↗, abyste se chránili před marketingovými cookies, které sledují uživatele, a útoky Cross-site Request Forgery (CSRF), které útočníkům umožňují ukrást nebo zneužít vaše cookies.

SameSite atribut cookie má tři různé režimy:

SameSite nastavení pro Cookies Cloudflare patří:

Cookie Cloudflare Nastavení SameSite Pouze HTTPS Partitioned (CHIPS)
__cf_bm SameSite=None; Secure Ano Ne
cf_clearance SameSite=None; Secure Ano Ano
__cflb SameSite=Lax Ne Ne

Atribut SameSite v cookies session affinity

Chcete-li v současné době nakonfigurovat SameSite atribut na cookies session affinity musíte použít Cloudflare API (například Create Load Balancer operaci).

Chcete-li nakonfigurovat hodnotu SameSite atribut cookie, zahrňte samesite a secure atributy JSON ve svém HTTP požadavku uvnitř session_affinity_attributes objekt.

Dostupné hodnoty pro tyto dva atributy jsou následující:

samesite atribut:

secure atribut:

Auto hodnotu pro samesite atribut bude mít následující chování:

Auto hodnotu pro secure atribut bude mít následující chování:

Pokud nastavíte samesite na None ve vašem API požadavku nelze nastavit secure na Never.

Pokud potřebujete konkrétní SameSite konfiguraci ve vašich cookies session affinity, Cloudflare doporučuje, abyste zadali hodnoty pro samesite a secure odlišné od Auto, místo spoléhání na výchozí chování. Díky tomu hodnota SameSite atribut cookie se v důsledku změn konfigurace nezmění (konkrétně Always Use HTTPS).


Známé problémy se SameSite a cf_clearance cookies

Když návštěvník vyřeší challenge zobrazena kvůli vlastní pravidlo nebo pravidlo IP Access, cf_clearance cookie je nastavena v prohlížeči návštěvníka. cf_clearance cookie má výchozí dobu platnosti 30 minut, kterou můžete nastavit pomocí Challenge Passage.

Cloudflare používá SameSite=None v cf_clearance cookie, aby požadavky návštěvníka z různých hostname nenarazily na další ověřování nebo chyby. Když SameSite=None se používá, musí být nastaveno společně s Secure příznak.

Pomocí Secure flag requires sending the cookie via an HTTPS connection. If you use HTTP on any part of your website, the cf_clearance cookie má ve výchozím nastavení hodnotu SameSite=Lax, což může způsobit, že váš web nebude fungovat správně.

Chcete-li problém vyřešit, přesměrujte provoz svého webu na HTTPS. Cloudflare k tomuto účelu nabízí dvě funkce:


Partitioned cookies (CHIPS) a cf_clearance

Cloudflare nastaví Partitioned atribut na cf_clearance cookie (a na interní cf_chl_* cookies používaných platformou Challenge Platform), aby vyhověl Cookies Having Independent Partitioned State (CHIPS) ↗ ↗.

S CHIPS se cookie nastavená v kontextu třetí strany (například uvnitř iframe nebo z prostředku mezi weby) ukládá do oddílu vázaného na web nejvyšší úrovně, místo aby byla sdílená napříč všemi weby, které danou třetí stranu vkládají. V prohlížečích založených na Chromiu, které cookies třetích stran blokují, se tím zachová stav ověření pro vkládaný obsah mezi weby, který by jinak přestal fungovat. V prohlížečích, které CHIPS neimplementují, Partitioned atribut je ignorován a chování se nemění.

Partitioned atribut se neaplikuje na __cf_bm.

Dopad na vložené výzvy

Protože cf_clearance je rozdělen (partitioned), oprávnění získané v jednom kontextu nejvyšší úrovně se nepoužije v jiném kontextu nejvyšší úrovně. Návštěvník, který úspěšně projde ověřením při přímém procházení webu, toto oprávnění automaticky nepřenese na jiný web, který jej vkládá, a naopak. Jedná se o zamýšlené chování podle specifikace CHIPS.

Partitioned vyžaduje SameSite=None; Secure

Partitioned atribut má účinek pouze na cookies, které jsou také nastaveny s SameSite=None; Secure. Pokud vaše stránka neposkytuje veškerý provoz přes HTTPS, cf_clearance cookie se vrátí k výchozí hodnotě SameSite=Lax (viz Známé problémy se SameSite a cf_clearance cookies), a Partitioned atribut nemá žádný účinek.


Požádejte o pilot zdarma

Domluvit pilot