Detekce podvodů na edge: Cloudflare Workers + tracio.ai
Ověřujte otisk zařízení v Cloudflare Workers dřív, než požadavky dorazí k origin serveru. Rozhodnutí o podvodu na edge za méně než 5 ms.
Tradiční detekce podvodů probíhá na aplikační vrstvě: požadavek dorazí na váš server, vy se dotážete API pro detekci podvodů, počkáte na odpověď a poté rozhodnete, zda ho povolit, nebo zablokovat. Tato obousměrná cesta přidává ke každému požadavku 50–200 ms latence — u načítání stránek přijatelné, ale bolestivé u API endpointů, AJAX volání a interakcí v reálném čase.
Co kdybyste mohli rozhodnout o podvodu dřív, než požadavek dorazí k vašemu origin serveru? Přesně to umožňuje edge computing a Cloudflare Workers je platforma, na které tento vzor demonstrujeme.
Architektura
Sestava má tři komponenty: tracio.ai JS SDK (@tracio/sdk) běžící v prohlížeči, Cloudflare Worker umístěný mezi klientem a vaším originem a podepsané tracio.ai webhooky doručující kompletní analýzu signálů do vašeho backendu.
Tok funguje takto: JS SDK během načítání stránky sbírá signály zařízení a odesílá je do tracio.ai, přičemž prohlížeči vrací visitorId. Váš backend obdrží kompletní výsledek identifikace — klasifikaci bota, smart signály, spolehlivost — prostřednictvím podepsaného webhooku a zapíše verdikt do edge cache. Prohlížeč přikládá visitorId k následným API požadavkům (pomocí hlavičky nebo cookie). Cloudflare Worker zachytí každý požadavek, vyhledá uložený verdikt pro dané visitorId a rozhodne o povolení/zablokování za méně než 5 ms.
Implementace Workeru
Worker udržuje odlehčenou cache nedávných výsledků ověření zařízení pomocí úložiště Cloudflare KV, kterou naplňuje váš backend, jak dorazí podepsané tracio.ai webhooky. Když dorazí požadavek s hlavičkou visitorId, Worker zkontroluje cache. Pokud je verdikt uložený a návštěvník je čistý (nízké bot skóre, žádná VPN, spolehlivost nad prahovou hodnotou), požadavek okamžitě projde. Pokud zatím žádný verdikt uložený není, Worker uplatní vaši záložní politiku — propustit s konzervativním rate limitem, nebo výzva (challenge) — dokud cache řízená webhooky nedožene stav.
Klíčovým poznatkem je, že cache ověření se naplňuje proaktivně. První načtení stránky spustí sběr signálů a uloží výsledek. Všechna následná API volání od daného návštěvníka zasáhnou cache — žádná obousměrná cesta k tracio.ai není potřeba. TTL cache je konfigurovatelné; doporučujeme 5 minut pro endpointy s vysokým zabezpečením a 30 minut pro běžný obsah.
Čísla o výkonu
Tuto architekturu jsme testovali u zákazníka zpracovávajícího 50 000 požadavků za minutu prostřednictvím Cloudflare Workers. Výsledky:
Úspěšnost cache: 94 % (většina požadavků pochází od návštěvníků, kteří už stránku načetli). Latence rozhodnutí na edge (zásah cache): medián 1,2 ms, 3,8 ms p99. Latence rozhodnutí na edge (minutí cache): medián 45 ms (zahrnuje API volání do tracio.ai). Úspora latence originu: medián 120 ms na požadavek (odstraněná kontrola podvodů na straně serveru).
94% úspěšnost cache znamená, že 94 % rozhodnutí o podvodu proběhne za méně než 4 ms na edge, bez zapojení originu. Zbývajících 6 % jsou požadavky z první návštěvy, které vyžadují plnou obousměrnou cestu k API.
Strategie blokování
Worker podporuje tři strategie blokování, konfigurovatelné pro každou routu:
Tvrdé blokování: Okamžitě vrátí 403 pro vysoce rizikové návštěvníky (bot skóre > 0,9, známý automatizační framework). Měkké blokování: Přidá hlavičky X-Tracio-Risk a nechá rozhodnout origin. To je užitečné, když k rozhodnutí chcete kontext na úrovni aplikace. Výzva (challenge): Přesměruje podezřelé návštěvníky (střední bot skóre, detekovaná VPN) na stránku s výzvou, která vyžaduje dodatečné ověření.
Doporučujeme začít v produkci s měkkým blokováním, týden sledovat rozložení rizika a poté zapnout tvrdé blokování pro jednoznačné případy (známí boti, headless prohlížeče, automatizace s vysokou spolehlivostí).
Analýza nákladů
Ceník Cloudflare Workers je založen na počtu požadavků a době výpočtu. Při 50 tis. požadavcích za minutu (2,16 miliardy měsíčně) jsou náklady na Worker přibližně 500 USD měsíčně. Porovnejte to s úsporou latence: odstranění 120 ms kontroly podvodů na straně originu snižuje využití CPU serveru o 15–20 %, což na výpočtech obvykle ušetří více než náklady na Worker.
Skutečná hodnota je v prevenci podvodů: zachycení botů a podvodných požadavků dřív, než spotřebují zdroje originu, databázová spojení a navazující API volání. Jeden zákazník po zavedení detekce podvodů na edge zredukoval počet origin serverů z 12 na 8 — boti, kteří spotřebovávali 30 % jeho výpočetního výkonu, se k originu nikdy nedostali.