DEV Community

Erick Eduardo Ramos
Erick Eduardo Ramos

Posted on

Cómo solucionar el error “Enable JavaScript and cookies to continue”

Cómo solucionar el error “Enable JavaScript and cookies to continue”

Este mensaje aparece cuando Cloudflare (u otro proxy de seguridad similar) detecta que el navegador del usuario no cumple con los requisitos mínimos de seguridad para acceder al sitio: JavaScript deshabilitado o cookies bloqueadas.

🔍 Raíz técnica

Cloudflare implementa mecanismos de protección contra bots y ataques automatizados. Para verificar que el cliente es un navegador legítimo, requiere:

  • JavaScript habilitado: para ejecutar el JavaScript challenge (desafío de validación).
  • Cookies habilitadas: para mantener el estado de la sesión tras superar el desafío.

Si cualquiera de los dos está deshabilitado, Cloudflare bloquea la solicitud y muestra este mensaje.

⚠️ Importante: Este error no es un bug en tu código. Es una medida de seguridad activa. Pero si tú eres el desarrollador del sitio, este error puede aparecer en entornos de desarrollo/local si no estás sirviendo el contenido correctamente (p. ej., sin HTTPS, sin cookies configuradas, o con SameSite mal configurado).


✅ Pasos para resolverlo

1. Verifica que JavaScript esté habilitado en el navegador

  • Chrome/Edge: Configuración > Privacidad y seguridad > Configuración de sitios > JavaScript > Permitido (recomendado)
  • Firefox: Preferencias > Privacidad y seguridad > Permisos > Habilitar JavaScript
  • Safari: Preferencias > Seguridad > Habilitar JavaScript

2. Verifica que las cookies estén habilitadas

  • Chrome/Edge: Configuración > Privacidad y seguridad > Cookies y otros datos de sitios > Permitir que todos los sitios guarden datos
  • Firefox: Preferencias > Privacidad y seguridad > Cookies y datos de sitios > Aceptadas (recomendado)
  • Safari: Preferencias > Privacidad > Desmarcar "Bloquear cookies y otros datos de sitios"

3. Si eres el desarrollador del sitio: asegura tu entorno de producción

a) Usa HTTPS obligatorio

Cloudflare bloquea desafíos en HTTP. Configura redirección HTTP → HTTPS en tu servidor o en Cloudflare (pestaña SSL/TLS → Overview → Full (strict)).

b) Configura correctamente las cookies

  • Usa Secure, SameSite=None, y HttpOnly para cookies críticas:
Set-Cookie: session=abc123; Path=/; Secure; HttpOnly; SameSite=None
Enter fullscreen mode Exit fullscreen mode

⚠️ SameSite=None requiere Secure (HTTPS), de lo contrario los navegadores modernos lo bloquearán.

c) Verifica que no haya bloqueo por CORS

Si tu frontend y backend están en dominios distintos (p. ej., app.example.com y api.example.com), asegura que:

  • El backend envíe Access-Control-Allow-Credentials: true
  • El frontend use credentials: 'include' en fetch/XMLHttpRequest

d) Desactiva temporalmente Cloudflare (solo para diagnóstico)

Ve a Cloudflare Dashboard > Overview > Pause Cloudflare on site. Si desaparece el error, el problema está en la configuración de Cloudflare (p. ej., Browser Integrity Check, Challenge Passage, o Security Level).


🛠 Bloque de código corregido (ejemplo de configuración de cookie en Node.js/Express)

res.cookie('session', token, {
  httpOnly: true,
  secure: process.env.NODE_ENV === 'production', // true solo en HTTPS
  sameSite: 'none', // obligatorio para cross-site
  domain: '.tudominio.com', // opcional, pero necesario para subdominios
  path: '/'
});
Enter fullscreen mode Exit fullscreen mode

✅ Verifica que secure: true solo funcione en HTTPS. En desarrollo local, usa localhost sin secure: true o configura un certificado autofirmado.


💡 Pro-tip

  • No ignores este error: Si lo supieres (p. ej., desactivando Under Attack Mode en Cloudflare), expones tu sitio a bots y ataques DDoS.
  • Para pruebas automatizadas: Usa Puppeteer/Playwright con acceptInsecureCerts: true y habilita cookies explícitamente:
  const browser = await puppeteer.launch({
    args: ['--disable-features=IsolateOrigins,site-per-process']
  });
  const page = await browser.newPage();
  await page.setCookie({ name: 'test', value: '123', domain: 'example.com' });
Enter fullscreen mode Exit fullscreen mode
  • Si el usuario está usando ad blockers o privacidad extensions: Estos pueden bloquear cookies de terceros (como las de Cloudflare). Informa al usuario que desactive temporalmente el bloqueador para el dominio.

✅ Solución definitiva: Asegura que tu sitio se sirva por HTTPS, configura cookies correctamente, y que el navegador del cliente tenga JS y cookies activados.

Top comments (0)