A nessuno piacciono i CAPTCHA. Strizzare gli occhi su semafori e idranti per dimostrare di essere umani è una tassa per ogni visitatore onesto, e i dati che quei rompicapo restituiscono alle reti pubblicitarie sono un problema a sé. Cloudflare Turnstile sostituisce tutto questo con un controllo intelligente e quasi invisibile che conferma che un visitatore è umano senza rompicapo, senza tracciarlo e senza alcun costo per te. Nel 2026 è il modo più pulito per proteggere un modulo dai bot.
Questa guida illustra cos’è Turnstile, perché batte reCAPTCHA per la maggior parte dei siti e come aggiungerlo esattamente a qualsiasi modulo, incluso il passaggio fondamentale di verifica lato server che molti tutorial saltano.
In sintesi
- Turnstile è l’alternativa al CAPTCHA di Cloudflare, gratuita e rispettosa della privacy, senza rompicapo visivi
- È gratuito con limiti generosi e funziona su qualsiasi sito, non solo su quelli già su Cloudflare
- La configurazione è in due parti: un widget sul tuo modulo e una chiamata di verifica lato server da non saltare
- Offre le modalità widget managed, non-interactive e invisible per adattarsi a moduli diversi
- È un sostituto immediato di reCAPTCHA per moduli di contatto, registrazioni, login e riquadri dei commenti
Cos’è Cloudflare Turnstile
Cloudflare Turnstile è un sostituto del CAPTCHA che verifica che i visitatori siano umani tramite una serie di sfide del browser leggere e non intrusive eseguite in background. Invece di chiedere all’utente di risolvere un rompicapo, analizza i segnali provenienti dal browser e, nella maggior parte dei casi, conferma il visitatore in silenzio. Quando serve un’interazione, di solito è una singola casella di spunta, mai una griglia di immagini.
Soprattutto, Turnstile è progettato per rispettare la privacy. Non profila gli utenti per vendere pubblicità e non dipende dal tracciamento di una persona attraverso il web. Ottieni protezione dai bot senza trasformare i tuoi visitatori in un prodotto di dati, cosa sempre più importante per i siti attenti al GDPR.
Funziona anche su qualsiasi sito. Non devi far passare il tuo dominio attraverso il proxy di Cloudflare per usare Turnstile; il widget e l’API di verifica funzionano da qualsiasi luogo.
Perché sostituire reCAPTCHA
Le ragioni per il passaggio sono semplici:
- Migliore esperienza utente. Nessun rompicapo per i visitatori legittimi, il che significa meno moduli abbandonati.
- Privacy. Turnstile è progettato per non tracciare gli utenti a fini pubblicitari, a differenza dell’alternativa dominante.
- Gratuito e generoso. Turnstile è gratuito, con limiti abbastanza alti per la stragrande maggioranza dei siti.
- Funziona ovunque. Non è vincolato all’avere il tuo DNS su Cloudflare.
- Integrazione semplice. Un tag script, un widget e un solo controllo lato server.
Per la maggior parte dei moduli di contatto, delle registrazioni e dei sistemi di commenti, ci sono poche ragioni per continuare a pagare il costo di usabilità dei CAPTCHA tradizionali.
Passaggio 1: Creare un widget Turnstile
Nella dashboard di Cloudflare, apri Turnstile e aggiungi un nuovo sito. Indichi un nome e i nomi host su cui il widget verrà eseguito. Cloudflare ti fornisce due chiavi:
- Una site key (pubblica) che va nel tuo HTML
- Una secret key (privata) che resta sul tuo server e viene usata per la verifica
Scegli anche una modalità widget:
| Modalità | Comportamento |
|---|---|
| Managed | Cloudflare decide se mostrare una casella di spunta in base al rischio (impostazione predefinita consigliata) |
| Non-interactive | Viene eseguito in silenzio senza casella di spunta |
| Invisible | Completamente nascosto; viene eseguito interamente in background |
La modalità managed è il punto di partenza sensato per la maggior parte dei moduli.
Passaggio 2: Aggiungere il widget al tuo modulo
Includi lo script Turnstile e inserisci l’elemento widget nel tuo modulo. Sostituisci YOUR_SITE_KEY con la site key della dashboard:
1<form action="/submit" method="POST">
2 <input type="email" name="email" required />
3
4 <!-- Turnstile widget -->
5 <div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div>
6
7 <button type="submit">Send</button>
8</form>
9
10<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script>
Quando il widget viene eseguito, aggiunge al tuo modulo un campo nascosto chiamato cf-turnstile-response contenente un token monouso. È questo token che il tuo server verifica nel passaggio successivo.
Passaggio 3: Verificare sul server (non saltare questo passaggio)
Questo è il passaggio che fornisce effettivamente protezione, ed è quello che i tutorial omettono più spesso. Il widget da solo non prova nulla; un attaccante può inviare il tuo modulo direttamente. Devi prendere il token dal modulo e convalidarlo lato server rispetto all’endpoint siteverify di Cloudflare prima di fidarti dell’invio.
Invia il token e la tua secret key a https://challenges.cloudflare.com/turnstile/v0/siteverify:
1// Example: Cloudflare Worker or any server-side handler
2async function verifyTurnstile(token, ip, secret) {
3 const formData = new FormData();
4 formData.append("secret", secret);
5 formData.append("response", token);
6 if (ip) formData.append("remoteip", ip);
7
8 const result = await fetch(
9 "https://challenges.cloudflare.com/turnstile/v0/siteverify",
10 { method: "POST", body: formData }
11 );
12
13 const outcome = await result.json();
14 return outcome.success === true;
15}
Procedi con l’azione del modulo (invio dell’email, creazione dell’account, pubblicazione del commento) solo quando outcome.success è true. Se è false, rifiuta l’invio. Non esporre mai la tua secret key nel codice lato client.
Un dettaglio utile per lo sviluppo: Cloudflare fornisce chiavi di test che superano sempre, bloccano sempre o forzano sempre una sfida interattiva, così puoi testare ogni percorso prima di andare in produzione.
Casi d’uso comuni di Cloudflare Turnstile
Turnstile si inserisce in qualsiasi cosa un bot potrebbe abusare:
- Moduli di contatto per fermare gli invii di spam
- Iscrizione e registrazione per bloccare la creazione di account falsi (si abbina bene a un sistema utenti Cloudflare Pages )
- Moduli di login per rallentare gli attacchi di credential stuffing
- Riquadri dei commenti per ridurre lo spam senza infastidire i lettori reali
- Iscrizioni alla newsletter per mantenere pulita la tua lista
Se vuoi impostare correttamente la protezione dai bot sul tuo sito, inclusa la verifica lato server fatta a regola d’arte, è parte di ciò che copro nel mio servizio di sicurezza del sito web .
Punti chiave
- Turnstile è un sostituto del CAPTCHA gratuito e rispettoso della privacy, senza rompicapo visivi
- Funziona su qualsiasi sito, non solo su quelli con DNS su Cloudflare
- L’integrazione è un widget sul modulo più una chiamata di verifica lato server obbligatoria
- La modalità managed è la migliore impostazione predefinita; le modalità non-interactive e invisible esistono per esigenze specifiche
- Verifica sempre il token lato server; il widget da solo non offre alcuna protezione reale
- È un sostituto immediato e pulito di reCAPTCHA per moduli, registrazioni, login e commenti
Domande frequenti
Cloudflare Turnstile è gratuito? Sì. Turnstile è gratuito, con limiti abbastanza generosi per la stragrande maggioranza dei siti web. Non c’è alcun costo per il widget standard e il flusso di verifica.
Devo avere il mio sito su Cloudflare per usare Turnstile? No. Turnstile funziona su qualsiasi sito indipendentemente da dove si trovano il tuo DNS o il tuo hosting. Ti serve solo un account Cloudflare per creare il widget e ottenere la tua site key e la tua secret key.
Turnstile è un buon sostituto di reCAPTCHA? Per la maggior parte dei siti, sì. Offre una migliore esperienza utente senza rompicapo, è progettato per rispettare la privacy invece di tracciare gli utenti a fini pubblicitari, ed è gratuito. Copre gli stessi casi d’uso: moduli di contatto, registrazioni, login e commenti.
Devo verificare il token sul server? Sì, sempre. Il widget lato client da solo non ti protegge, perché un bot può inviare il modulo direttamente. Devi inviare il token all’endpoint siteverify di Cloudflare con la tua secret key e fidarti solo degli invii che restituiscono success.
Quali modalità widget offre Turnstile? Tre: managed (Cloudflare decide se mostrare una casella di spunta in base al rischio), non-interactive (silenziosa, senza casella di spunta) e invisible (completamente nascosta). La modalità managed è l’impostazione predefinita consigliata per la maggior parte dei moduli.
Posso testare Turnstile prima di andare in produzione? Sì. Cloudflare fornisce chiavi di test che superano sempre, bloccano sempre o forzano sempre una sfida interattiva, così puoi verificare ogni percorso di esito in sviluppo prima di distribuire chiavi reali.
Commenti