Backend
Cómo solucionar el error \"Enable JavaScript and cookies to continue\"
Erick Eduardo Ramos DEV Community
21 views
Cómo solucionar el error "Enable JavaScript and cookies to continue"
¿Por qué ocurre este error?
Este mensaje aparece cuando Cloudflare (o un proxy similar como Brotli/WAF) bloquea la solicitud porque detecta que el navegador no cumple con los requisitos mínimos de seguridad. Especialmente común en:
Solicitudes automatizadas (scraping, scripts, bots) sin headers o cookies válidas.
Navegadores con JavaScript deshabilitado (poco común en entornos reales, más frecuente en entornos headless mal configurados).
Sesiones sin cookies habilitadas o con políticas estrictas de privacidad (ej. modo incógnito con bloqueo agresivo).
Uso de librerías HTTP sin emular correctamente un cliente real (ej. requests en Python sin User-Agent, Accept-Language, etc.).
⚠️ No es un error de tu código front-end, sino una defensa activa del servidor contra tráfico no humano.
Solución definitiva (según tu entorno)
✅ Si usas un navegador headless (Puppeteer, Playwright, Selenium)
1. Habilita explícitamente JavaScript y cookies
// Ejemplo con Puppeteer (Node.js)
const browser = await puppeteer.launch({
headless: 'new',
args: ['--disable-features=IsolateOrigins,site-per-process']
});
const page = await browser.newPage();
await page.setJavaScriptEnabled(true);
await page.setCookie({
name: 'cf_clearance',
value: 'dummy-value', // O mejor: resuelve el challenge manualmente una vez y reutiliza el token
domain: '.tu-dominio.com'
});
// Simula un navegador real
await page.setUserAgent('Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36');
await page.setViewport({ width: 1920, height: 1080 });
2. Usa un resolver de challenges (recomendado)
npm install puppeteer-extra-plugin-stealth
const puppeteer = require('puppeteer-extra');
const StealthPlugin = require('puppeteer-extra-plugin-stealth');
puppeteer.use(StealthPlugin());
// ... luego lanza el navegador como antes
💡 Pro-tip: Cloudflare usa browser fingerprinting. Usa puppeteer-extra-plugin-recaptcha o playwright-extra con stealth para evitar detección.
✅ Si usas curl, requests (Python), o HTTP raw
1. Simula un navegador real con headers completos
import requests
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8",
"Accept-Language": "es-ES,es;q=0.9,en;q=0.8",
"Accept-Encoding": "gzip, deflate, br",
"Connection": "keep-alive",
"Upgrade-Insecure-Requests": "1",
"Sec-Fetch-Dest": "document",
"Sec-Fetch-Mode": "navigate",
"Sec-Fetch-Site": "none",
"Sec-Fetch-User": "?1",
"Cache-Control": "max-age=0",
}
session = requests.Session()
response = session.get("https://tu-sitio.com", headers=headers)
2. Resuelve el challenge manualmente (una sola vez) y reutiliza la cookie
Abre el sitio en tu navegador normal.
Espera a que cargue (puede tardar 5–10 segundos).
Copia la cookie cf_clearance (ver en DevTools > Application > Cookies).
Usa esa cookie en tus solicitudes posteriores:
session.cookies.set("cf_clearance", "tu-cookie-cf_clearance-aquí", domain=".tu-dominio.com")
🔑 Clave: cf_clearance es una cookie temporal que Cloudflare emite tras superar el challenge. Sin ella, todo request será bloqueado.
Verificación rápida (CLI)
curl -v https://tu-sitio.com 2>&1 | grep -i "set-cookie"
Si no ves cf_clearance=..., el challenge no se superó.
Pro-tip: Evita el problema desde el origen
Si controlas el servidor detrás de Cloudflare:
Usa Cloudflare "I'm Under Attack" mode OFF (solo para desarrollo).
Configura WAF Exclusions para IPs de prueba (IPs de CI/CD, bots internos).
Usa API Tokens o Basic Auth para endpoints que no deben pasar por el WAF.
Pero nunca deshabilites Cloudflare en producción — este error es una característica de seguridad, no un bug.
✅ Listo. Con esto el error desaparecerá de forma definitiva.
Read original: https://dev.to/erickeduardoramos03/como-solucionar-el-error-enable-javascript-and-cookies-to-continue-4e2n
← Previous
Fair Queue for a Shared Free AI Server: 5-Dev Postmortem
Next →
How do you learn something new today?
Related
The benchmark everyone cited for "fastest backend" was archived in March, and the reason is the interesting part
Backend
56
Dev.to (EN Zone)
Finding Exoplanets in Noisy Data with Machine Learning
Backend
46
DEV Community
How to automatically find the batch size when using Accelerate with FSDP2? [D]
Backend
43
Reddit r/MachineLearning
Cross-Chain Bridge Risk Assessment: Aave V3
Backend
36
DEV Community
Comments0
No comments yet — be the first