Dokumentace Domluvit pilot

Příklady pravidel Rate limiting

Níže uvedené příklady obsahují ukázkové konfigurace pravidla omezení frekvence požadavků.

Příklad 1

Následující pravidlo pro omezení frekvence provádí rate limiting u příchozích požadavků z USA směřujících na přihlašovací stránku, s výjimkou jedné povolené IP adresy.

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

Pole Operátor Hodnota
URI Path equals /login And
Země equals United States And
IP Source Address does not equal 192.0.0.1

Pokud používáte editor výrazů:
(http.request.uri.path eq "/login" and ip.src.country eq "US" and ip.src ne 192.0.0.1)

Se stejnými charakteristikami:

  • IP
  • ID datového centra (v dashboardu zahrnuto ve výchozím nastavení, ale nezobrazeno)

Příklad 2

Následující pravidlo pro omezení frekvence provádí rate limiting u příchozích požadavků s danou základní cestou URI, přičemž počítadlo se zvyšuje podle IP adresy a zadaného klíče API.

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

Pole Operátor Hodnota
URI Path contains /product And
Request Method equals POST

Pokud používáte editor výrazů:
(http.request.uri.path contains "/product" and http.request.method eq "POST")

Se stejnými charakteristikami:

  • IP
  • Hodnota hlavičky > x-api-key
  • ID datového centra (v dashboardu zahrnuto ve výchozím nastavení, ale nezobrazeno)

Příklad 3

Následující pravidlo pro omezení frekvence provádí rate limiting u požadavků směřujících na více cest URI na dvou hostitelích, s vyloučením known botů. Frekvence požadavků vychází z IP adresy a User-Agent hodnoty.

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

(http.request.uri.path eq "/store" or http.request.uri.path eq "/prices") and (http.host eq "mystore1.com" or http.host eq "mystore2.com") and not cf.client.bot

Se stejnými charakteristikami:

  • IP
  • Hodnota hlavičky > user-agent
  • ID datového centra (v dashboardu zahrnuto ve výchozím nastavení, ale nezobrazeno)

Příklad 4

Následující pravidlo pro omezení frekvence provádí rate limiting založený na složitosti. Pravidlo přitom zohledňuje my-score HTTP hlavičku odpovědi poskytnutou origin serverem a na jejím základě vypočítá celkové skóre složitosti klienta s daným klíčem API.

Čítač s celkovým skóre se aktualizuje při shodě s výraz pro počítání (v tomto případě stejné jako výraz pravidla, protože nebyl zadán výraz pro počítání). Jakmile toto celkové skóre překročí 400 během jedné minuty, jakékoli další požadavky klienta budou zablokovány po dobu 10 minut.

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

Pole Operátor Hodnota
URI Path zástupný znak /graphql/*

Pokud používáte editor výrazů:
(http.request.uri.path wildcard "/graphql/*")

Se stejnými charakteristikami:

  • Hodnota hlavičky > x-api-key
  • ID datového centra (v dashboardu zahrnuto ve výchozím nastavení, ale nezobrazeno)

Když frekvence překročí: Na základě složitosti

  • Skóre za období: 400
  • Období: 1 minuta
  • Název hlavičky odpovědi: my-score

Poté proveďte akci:

  • Zvolte akci: Block

S následujícím chováním: Blokovat po vybranou dobu

  • Doba trvání: 10 minut

Příklad API s touto konfigurací pravidla najdete v Vytvoření pravidla omezení frekvence požadavků přes API.

Požádejte o pilot zdarma

Domluvit pilot