Dokumentace Domluvit pilot

Parametry omezení frekvence požadavků

Dostupné parametry pravidla omezení frekvence požadavků jsou popsány v následujících částech.

Další informace o aktuálních omezeních konfigurace pravidel najdete v Omezení konfigurace.

Přehled parametrů

Když příchozí požadavky odpovídají

Určuje kritéria, podle kterých pravidlo pro omezení četnosti požadavků odpovídá požadavku.

Použít omezování frekvence požadavků i na aktiva v mezipaměti

Pokud je tento parametr deaktivován (nebo pokud requests_to_origin pole API je nastaveno na true), se při určování frekvence požadavků zohlední pouze požadavky směřující na origin server (tedy požadavky, které nejsou v mezipaměti).

V některých případech nelze deaktivovat Použít omezování frekvence požadavků i na aktiva v mezipaměti parametru kvůli omezením konfigurace. Více informací najdete v Omezení konfigurace s podrobnostmi.

V závislosti na vašem plán Cloudflare, tento parametr pravidla nemusí být dostupný. V takovém případě Cloudflare uplatní omezení frekvence požadavků i na cachovaná aktiva (tento parametr je ve výchozím nastavení zapnutý).

Se stejnými charakteristikami

Sada parametrů, které určují, jak Cloudflare sleduje frekvenci požadavků pro dané pravidlo.

Použijte jednu nebo více z následujících vlastností:

Hodnota v dashboardu Hodnota API Poznámky
N/A (implicitně zahrnuto) cf.colo.id(povinné) Nepoužívejte ve výrazech
IP ip.src Nekompatibilní s IP s podporou NAT
IP s podporou NAT cf.unique_visitor_id Nekompatibilní s IP
Hodnota hlavičky (zadejte název hlavičky) http.request.headers["<header_name>"] Použití názvu hlavičky psaného malými písmeny v API a Chybějící pole oproti prázdné hodnotě
Hodnota cookie (zadejte název cookie) http.request.cookies["<cookie_name>"] Doporučené konfigurace a Chybějící pole oproti prázdné hodnotě
Hodnota dotazu (zadejte název parametru) http.request.uri.args["<query_param_name>"] Chybějící pole oproti prázdné hodnotě
Host http.host
Cesta http.request.uri.path
AS Num ip.src.asnum
Země ip.src.country
JA3 Fingerprint cf.bot_management.ja3_hash
JA4 cf.bot_management.ja4
JSON string value of (zadejte klíč) lookup_json_string(http.request.body.raw, "<key>") Chybějící pole oproti prázdné hodnotě a lookup_json_string() referenční dokumentace k funkci
JSON integer value of (zadejte klíč) lookup_json_integer(http.request.body.raw, "<key>") Chybějící pole oproti prázdné hodnotě a lookup_json_integer() referenční dokumentace k funkci
Form input value of (zadejte název pole) http.request.body.form["<input_field_name>"] Chybějící pole oproti prázdné hodnotě
JWT claim of (zadejte ID konfigurace tokenu, název nároku) lookup_json_string( http.request.jwt.claims["<token_configuration_id>"][0], "<claim_name>") Požadavky na nároky (claims) v JWT, chybějící pole oproti prázdné hodnotě a Referenční příručka JWT Validation
Body http.request.body.raw
Velikost těla (vyberte operátor, zadejte velikost) http.request.body.size
Custom (zadejte výraz) Zadejte vlastní výraz. Můžete použít funkci, například substring() nebo lower(), nebo zadejte složitější výraz. Funkce

Dostupné charakteristiky závisí na vašem plánu Cloudflare. Viz Dostupnost s dalšími informacemi.

Zvýšit čítač, když

K dispozici pouze v Cloudflare dashboardu, pokud zapnete Použití vlastního výrazu pro počítání.

Určuje kritéria použitá pro stanovení četnosti požadavků. Ve výchozím nastavení je počítací výraz stejný jako výraz pro shodu pravidla (definovaný v Když příchozí požadavky odpovídají). Toto výchozí nastavení se použije i v případě, že toto pole nastavíte na prázdný řetězec ("").

Výraz pro počítání může obsahovat Pole HTTP odpovědi. Pokud výraz pro počítání obsahuje pole odpovědi, počítání proběhne až po odeslání odpovědi.

V některých případech nelze do počítaného výrazu zahrnout pole odpovědi HTTP kvůli omezením konfigurace. Přečtěte si Omezení konfigurace s podrobnostmi.

Když frekvence překročí

Počítání pro omezení frekvence požadavků může být:

Když frekvence překročí > Požadavky

Počet požadavků za dané časové období, který pravidlo spustí. Platí pro omezení frekvence požadavků založené na počtu požadavků.

Když frekvence překročí > Období

Časové období, které se má zohlednit (v sekundách) při vyhodnocování frekvence požadavků. Dostupné hodnoty se liší podle vašeho plánu Cloudflare.

Dostupné hodnoty API jsou: 10, 60 (jedna minuta), 120 (dvě minuty), 300 (pět minut), 600 (10 minut), nebo 3600 (jedna hodina).

Když frekvence překročí > Skóre za období

Maximální skóre za dané období. Po překročení této hodnoty se provede akce pravidla. Platí pro omezení frekvence požadavků na základě složitosti.

Když frekvence překročí > Název hlavičky odpovědi

Název HTTP hlavičky v odpovědi, kterou nastavuje origin server a která obsahuje skóre aktuálního požadavku. Platí pro omezení frekvence požadavků na základě složitosti.

Poté proveďte akci

Akce, která se provede po dosažení frekvence definované v pravidle.

Použijte jednu z následujících hodnot v API: block, js_challenge (Non-Interactive Challenge), managed_challenge (Managed Challenge), challenge (Interactive Challenge), nebo log.

Pokud vyberete Block akce můžete definovat vlastní odpověď pomocí následujících parametrů:

S typem odpovědi (pro Block akce)

Určuje typ obsahu vlastní odpovědi při zablokování požadavku kvůli limitu četnosti požadavků. Dostupné pouze v případě, že nastavíte akce pravidla na Block.

Dostupné hodnoty API: application/json, text/html, text/xml, nebo text/plain.

S kódem odpovědi (pro Block akce)

Určuje stavový kód HTTP vrácený návštěvníkovi při zablokování požadavku kvůli limitu četnosti požadavků. Dostupné pouze v případě, že nastavíte akce pravidla na Block.

Musíte zadat hodnotu mezi 400 a 499. Výchozí hodnota je 429 (Too many requests).

Tělo odpovědi (pro Block akce)

Určuje tělo vrácené HTTP odpovědi, když je požadavek zablokován kvůli limitu četnosti požadavků. Dostupné pouze v případě, že nastavíte akce pravidla na Block.

Maximální velikost pole je 30 KB.

Pro dobu trvání

Jakmile je dosaženo limitu rychlosti, pravidlo pro omezení rychlosti použije akci pravidla na další požadavky po dobu definovanou v tomto poli (v sekundách).

V dashboardu vyberte jednu z dostupných hodnot, která se liší podle vašeho plánu Cloudflare. Dostupné hodnoty API jsou: 0, 10, 60 (jedna minuta), 120 (dvě minuty), 300 (pět minut), 600 (10 minut), 3600 (jedna hodina), nebo 86400 (jeden den).

Zákazníci s plánem Free, Pro a Business nemohou zvolit dobu trvání při použití akce typu výzvy, jejich pravidlo omezení frekvence požadavků bude u těchto akcí vždy provádět omezování rychlosti požadavků (throttling). Při tomto omezování rychlosti nedefinujete dobu trvání. Jakmile návštěvníci projdou výzvou, jejich odpovídající čítač požadavků se nastaví na nulu. Jakmile návštěvníci se stejnými hodnotami charakteristik pravidla odešlou dostatek požadavků k opětovnému spuštění pravidla rate limiting, obdrží nové ověření.

Zákazníci s plánem Enterprise mohou dobu trvání (nebo časový limit zmírnění) nastavit vždy, i při použití některé z akcí typu Challenge.

S následujícím chováním

Určuje přesné chování vybrané akce.

Chování akce může být jedno z následujících:

Poznámky k charakteristikám rate limitingu

Případy použití IP adres s podporou NAT

Použijte IP s podporou NAT k řešení situací, jako jsou požadavky se sdílenou IP adresou v rámci NAT. Cloudflare k identifikaci jedinečných návštěvníků používá řadu technik chránících soukromí, které mohou zahrnovat použití cookies relace. Podívejte se na Cloudflare Cookies s podrobnostmi.

Co zvážit při používání IP adres s podporou NAT

IP s podporou NAT se spoléhá na mechanismus identifikace návštěvníků založený na cookies (_cfuvid cookie). Mějte na paměti následující:

Nekompatibilní charakteristiky

Nelze použít současně IP s podporou NAT a IP jako charakteristiky stejného pravidla pro omezení frekvence požadavků.

Nepoužívejte cf.colo.id jako pole ve výrazech

Neměli byste používat cf.colo.id charakteristiku (ID datacentra) jako pole ve výrazech pravidel. Kromě toho cf.colo.id hodnoty se mohou bez upozornění měnit. Další informace o této charakteristice omezení frekvence požadavků najdete v Výpočet frekvence požadavků.

Použití názvu hlavičky psaného malými písmeny (pro uživatele API)

Pokud používáte Hodnota hlavičky charakteristiku v požadavku API (s http.request.headers["<header_name>"]), musíte název hlavičky zadat malými písmeny, protože Cloudflare normalizuje názvy hlaviček v rámci globální sítě Cloudflare.

Chybějící pole oproti prázdné hodnotě

Pokud používáte Hodnota hlavičky, Hodnota cookie, Hodnota dotazu, JSON string value of, lookup_json_integer(...), nebo Form input value of charakteristika a konkrétní název hlavičky, cookie, parametru, klíče JSON nebo pole formuláře v požadavku chybí, pravidlo omezení rychlosti se na požadavek přesto může vztahovat, v závislosti na vašem výrazu pro počítání.

Pokud takové požadavky nevyfiltrujete, objeví se konkrétní čítač požadavků pro požadavky, kde pole chybí, což se bude lišit od čítače požadavků, kde je pole přítomné s prázdnou hodnotou.

Pokud chcete v kontextu konkrétního pravidla rate limitingu zohlednit pouze požadavky, ve kterých je přítomna konkrétní HTTP hlavička, upravte výraz pro počítání pravidla tak, aby obsahoval něco podobného následujícímu:

and len(http.request.headers["<header_name>"]) > 0

Kde <header_name> je stejný název hlavičky, jaký se používá jako charakteristika rate limiting.

Pokud používáte Hodnota cookie jako charakteristiku pravidla pro omezení frekvence požadavků, postupujte podle těchto doporučení:

Požadavky na použití nároků (claims) v JSON Web Tokenu (JWT)

Chcete-li použít nároky (claims) uvnitř tokenu JSON Web Token (JWT), musíte nejprve nastavit konfigurace ověřování tokenu v API Shield.

Omezení konfigurace

Požádejte o pilot zdarma

Domluvit pilot