Cómo solucionar el error "Enable JavaScript and cookies to continue"
Este mensaje aparece cuando Cloudflare (u otro proxy inverso de seguridad) bloquea la solicitud del cliente porque detecta que JavaScript y/o cookies están deshabilitados en el navegador, o porque la solicitud no cumple con los requisitos mínimos de verificación de seguridad.
🔍 Raíz técnica
Cloudflare implementa mecanismos como "Browser Integrity Check" y "JavaScript Challenge (también llamado Managed Challenge), que requieren que el cliente:
- Ejecute JavaScript (para calcular un token de validación).
- Almacene cookies de sesión (para mantener el estado de la verificación).
- Comunique correctamente con el endpoint de verificación (normalmente
/cdn-cgi/challenge-platform/...).
Si el cliente (navegador, scraper, bot, o cliente HTTP personalizado) no cumple con esto, recibe esta página de bloqueo.
✅ Solución definitiva (según tu caso)
Caso 1: Eres un usuario final (navegando normalmente)
-
Habilita JavaScript en tu navegador
- Chrome/Edge:
Configuración > Privacidad y seguridad > Configuración de sitios > JavaScript > Permitido - Firefox:
Preferencias > Privacidad y seguridad > Permisos > Habilitar JavaScript - Safari:
Preferencias > Seguridad > Habilitar JavaScript
- Chrome/Edge:
Habilita cookies de terceros (si es necesario)
Algunos desafíos usan dominios comocloudflare.comocdn-cgi.com. Asegúrate de que no estén bloqueadas por extensiones (uBlock Origin, Privacy Badger, etc.).Desactiva temporalmente bloqueadores de anuncios/privacidad
Estas extensiones suelen bloquear los scripts de verificación de Cloudflare.Reinicia el navegador
Algunas veces, el desafío se queda "colgado" en memoria. Reiniciar fuerza una nueva sesión.
Caso 2: Eres desarrollador (haciendo peticiones programáticas: cURL, Python, etc.)
El problema es que no estás emulando el flujo completo de verificación de Cloudflare. No basta con hacer una petición GET simple.
Solución correcta: Usa un cliente HTTP con soporte para JS y cookies
✅ Opción recomendada: cloudscraper (Python)
pip install cloudscraper
import cloudscraper
scraper = cloudscraper.create_scraper(
browser={
'browser': 'firefox',
'platform': 'windows',
'mobile': False
}
)
response = scraper.get("https://sitioweb.com")
print(response.text)
✅ Alternativa: requests + cloudflare-scrape manual (solo para casos simples)
import requests
from cloudscraper import CloudScraper
session = CloudScraper.create_scraper()
resp = session.get("https://sitioweb.com")
# Ahora resp.status_code == 200 y resp.text contiene la página real
⚠️ No uses
requestspuro nicurlsin soporte JS. Cloudflare bloqueará siempre la petición.
Caso 3: Eres administrador del sitio (el desafío aparece en tu propia web)
-
Verifica si el desafío es innecesario para tu tráfico
- Ve a Cloudflare > Security > WAF > Managed Challenges
- Cambia de "Managed Challenge" a "Block" o "Disable" según el riesgo.
-
Añade reglas de excepción (IP, User-Agent, etc.)
Security > Events > Create Firewall Rule- Ejemplo:
not ip.src in {192.168.0.0/16}(excluir tráfico interno)
-
Asegura que los endpoints de Cloudflare no estén bloqueados por tu CDN/firewall
-
/cdn-cgi/debe estar accesible sin autenticación.
-
🧠 Pro-tip
-
Nunca confíes en
User-Agentpara evadir el desafío. Cloudflare ya lo usa como señal de bot, no como solución. - Si usas Selenium/Playwright, desactiva las banderas de automatización (
--disable-blink-features=AutomationControlled) y simula interacción humana (scroll, click). - Para pruebas locales: usa
localhostcon127.0.0.1y desactiva Cloudflare temporalmente en el dominio.
✅ Verificación final: Si después de aplicar la solución el error desaparece y la página carga normalmente (sin redirecciones a
/cdn-cgi/...), el problema está resuelto.
Top comments (0)