← Challenges / cloudflare-challenges / challenge-types
Turnstile
Turnstile je řešení Cloudflare nahrazující CAPTCHA. Turnstile můžete na svůj web nebo do aplikace vložit jako widget, který spouští klientský challenge přímo na pozadí prohlížeče návštěvníka.
Turnstile se od Challenge Pages liší v tom, že výzva nezastaví požadavek ani nenaruší zážitek uživatele. Widget je vložený přímo do webové stránky a běží jen na konkrétní části HTML, takže návštěvník se na cílovou URL adresu už dostal a stránku prohlíží ve chvíli, kdy na widget Turnstile narazí. Widget Turnstile tedy nebrání návštěvníkovi v přístupu na celý web, ale znemožní mu určité akce, například dokončení přihlášení nebo registračního formuláře, dokud výzvu nevyřeší.
Ve většině případů se od návštěvníka nevyžaduje nic dalšího. V případě potřeby však může Turnstile zobrazit jednoduché zaškrtávací políčko, na které musí návštěvník kliknout, aby mohl pokračovat.
Po úspěšném vyřešení výzvy vydá Turnstile návštěvníkovi clearance token, který je nutné ověřit prostřednictvím Siteverify API před dokončením citlivé akce, jako je přihlášení, registrace nebo odeslání jiného formuláře.
Typy widgetů
Na svém webu nebo v aplikaci si můžete vybrat ze tří typů widgetů, logika výzvy za nimi je ale vždy stejná.
-
Managed (recommended): funguje podobně jako Managed Challenge Page. Vybere výzvu na základě signálů získaných z prohlížeče návštěvníka a interakci zobrazí pouze v případě, že zjistí potenciálně automatizovaný provoz.
-
Non-Interactive: widget se zobrazí, ale návštěvník s ním pro ověření identity nemusí nijak interagovat.
-
Invisible: widget je pro návštěvníka zcela neviditelný, výzva ale i tak proběhne na pozadí.
Implementace
Když v Cloudflare dashboardu vytvoříte widget pro svůj web nebo aplikaci, obdržíte sitekey.
Sitekey se používá s vykreslování na straně klienta tím, že jej přidáte do <div> zástupný kontejner (placeholder). Poté tento <div> úryvek kódu tam, kam chcete widget přidat na stránku webu nebo do formuláře.
Začínáme
Viz dokumentace k Turnstile kde najdete pokyny k implementaci widgetu na váš web nebo do aplikace.