Saltar al contenido principal

Cloudflare Turnstile

Airspace utiliza Cloudflare Turnstile para proteger los formularios públicos de bots y abuso automatizado. Turnstile proporciona protección similar a CAPTCHA con mínima fricción para el usuario — la mayoría de los visitantes nunca verán un desafío.

Formularios Protegidos

Turnstile está activo en las siguientes páginas:

  • Inicio de sesión — previene ataques de relleno de credenciales
  • Registro — previene la creación masiva de cuentas
  • Incorporación (creación pública de tenant) — previene el aprovisionamiento automatizado de tenants

Configuración

1. Obtener Claves de Turnstile

  1. Inicie sesión en su panel de Cloudflare
  2. Navegue a Turnstile en la barra lateral
  3. Haga clic en Add site
  4. Ingrese el nombre de su sitio y dominio(s)
  5. Elija el modo del widget (se recomienda Managed)
  6. Copie la Site Key y la Secret Key

2. Configurar Variables de Entorno

Agregue lo siguiente a su archivo .env:

TURNSTILE_SITE_KEY=su-site-key-aqui
TURNSTILE_SECRET_KEY=su-secret-key-aqui

Turnstile se activa automáticamente cuando APP_ENV es staging o production. En local, testing y cualquier otro entorno permanece desactivado por defecto, por lo que los desarrolladores no necesitan claves de Cloudflare para trabajar con los formularios de login/registro/incorporación. Establezca TURNSTILE_ENABLED=true solo si desea forzar su activación en un entorno no productivo (por ejemplo, para verificar el comportamiento del widget localmente).

3. Desplegar

No se necesitan pasos adicionales. El widget de Turnstile aparecerá automáticamente en los formularios protegidos.

Deshabilitar Turnstile

Para deshabilitar Turnstile (por ejemplo, para desarrollo), establezca:

TURNSTILE_ENABLED=false

Cuando está deshabilitado:

  • El widget no se renderiza en ningún formulario
  • La validación del lado del servidor se omite (siempre pasa)
  • No se realizan solicitudes a Cloudflare

Solución de Problemas

SíntomaCausaSolución
El widget no apareceTURNSTILE_ENABLED es false o falta la site keyVerifique los valores en .env
Error "La verificación CAPTCHA falló"Token expirado o secret key inválidaVerifique que TURNSTILE_SECRET_KEY coincida con su panel de Cloudflare
Los formularios funcionan pero no hay widgetJavaScript bloqueadoAsegúrese de que challenges.cloudflare.com no esté bloqueado por CSP o bloqueadores de anuncios
La verificación falla después de larga inactividadLos tokens de Turnstile expiran después de ~5 minutosEl widget se auto-actualiza; si los problemas persisten, recargue la página