← Cloudflare Turnstile / turnstile
Začínáme
Turnstile chrání formuláře na vašem webu před boty. Funguje ve dvou krocích: widget v JavaScriptu spustí v prohlížeči návštěvníka výzvy a vytvoří token, váš server pak tento token odešle Cloudflare k ověření platnosti. Tento návod popisuje nastavení obou kroků.
Předpoklady
Než začnete, budete potřebovat:
- Účet Cloudflare
- Web nebo webová aplikace, kterou chcete chránit
- Základní znalost HTML a serverového jazyka, který používáte
Postup
Widget Turnstile je instance Turnstile vložená do vaší webové stránky. Každý widget má sitekey (veřejný identifikátor, který vložíte do svého HTML) a tajný klíč (soukromý údaj, kterým server ověřuje tokeny).
Každý widget má vlastní jedinečnou dvojici sitekey a secret key a vlastní možnosti konfigurace.
| Komponenta | Popis |
|---|---|
| Sitekey | Veřejný klíč, kterým se widget Turnstile na webu vyvolá. |
| Tajný klíč | Privátní klíč pro ověření tokenu na straně serveru. |
| Konfigurace | Režim, názvy hostitelů, nastavení vzhledu a další možnosti. |
Nasazení Turnstile stojí na dvou částech, které spolu spolupracují:
-
Na straně klienta: Vložení widgetu
Přidejte widget Turnstile na svou webovou stránku, aby návštěvníkům zobrazoval výzvy a generoval tokeny. Token je řetězec (až 2,048 znaků), který vznikne po dokončení výzvy návštěvníkem.
-
Na straně serveru: Ověření tokenu
Tokeny odesílejte do rozhraní Cloudflare Siteverify API, tedy koncový bod pro ověřování tokenů Turnstile, abyste potvrdili, že jsou pravé a nikdo je nezměnil.
Turnstile je navržen jako nezávislá služba. Můžete jej použít na libovolném webu bez ohledu na to, zda je směrován přes síť Cloudflare. Díky tomu jej nasadíte i v multicloudových prostředích, na vlastní infrastruktuře nebo na webech, které používají jiné CDN. Widget na klientské straně i ověření na serveru jsou zcela soběstačné.
Viz Implementace níže, kde najdete návod, jak Turnstile nasadit na svém webu.
Implementace
Turnstile nasadíte podle následujících kroků.
1. Vytvořte widget
Nejprve si musíte vytvořit widget Turnstile, abyste získali sitekey a secret key.
Vyberte si způsob implementace:
Cloudflare dashboard
API
Terraform
2. Vložte widget
Přidejte widget Turnstile do formulářů a aplikací na svém webu.
Viz Vložení widgetu s podrobnostmi o implicitním a explicitním vykreslování.
3. Ověřte tokeny
Zaveďte serverové ověřování tokenů, které vaše widgety vytvářejí.
Viz Ověření tokenu a zabezpečte implementaci správným ověřováním tokenu.
Další možnosti implementace
Konfigurace pro mobilní zařízení
Mobilní aplikace a implementace ve WebView vyžadují zvláštní pozornost.
Viz Implementace na mobilních zařízeních s dalšími informacemi o integraci do mobilních aplikací.
Migrace z jiných CAPTCHA
Pokud dnes používáte reCAPTCHA, hCaptcha nebo jinou službu CAPTCHA, Turnstile ji nahradí bez dalších úprav. Náš skript stačí zkopírovat všude tam, kde máte nasazený ten stávající.
Viz Migrace s podrobným postupem migrace z jiných služeb CAPTCHA.
Bezpečnostní požadavky
-
Ověřování na straně serveru je povinné. Tokeny Turnstile je nutné vynutit přes Siteverify API. Token Turnstile může být neplatný, prošlý nebo už uplatněný. Pokud jej neověříte, zůstanou ve vaší implementaci zásadní zranitelnosti. Volání Siteverify patří k dokončené konfiguraci Turnstile. Bez něj je konfigurace neúplná a ověření tokenů bude vykazovat nuly v metrikách v Turnstile Analytics.
-
Tokeny vyprší po 300 sekundách (5 minutách). Každý token lze ověřit jen jednou. Vypršené nebo použité tokeny je nutné nahradit novou výzvou.
Doporučené postupy
Zabezpečení
- Chraňte tajné klíče. Nikdy je neuvádějte v kódu na straně klienta.
- Klíče pravidelně obměňujte. K periodické rotaci tajných klíčů použijte API nebo dashboard.
- Omezte hostname. Widgety povolte jen na doménách, které spravujete.
- Sledujte využití. K odhalení neobvyklých vzorců použijte analytiku.
Provozní
- Volte popisné názvy. Pojmenujte widgety podle jejich účelu, například "Login Form" nebo "Contact Page".
- Oddělte prostředí. Pro vývoj, staging a produkci používejte různé widgety.
- Evidujte si, které widgety se používají na kterých místech.
- Při použití Terraformu udržujte konfigurace widgetů ve verzovacím systému.