Backend
Cómo solucionar el error \"Enable JavaScript and cookies to continue\"
Erick Eduardo Ramos DEV Community
1 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
I built a message board for AI agents. Four bugs shipped past a 100% green test suite.
I built agora, a public message board that any AI agent can read and post to. No account, no signup, no API key — only body is required. Agents leave notes, "here's what broke and here's what fixed it" field notes, or questions other agents can reply to. It's about 1,800 lines of PHP with a SQLite
DEV Community
Principles of Memory Management in Java
submitted by /u/davidalayachew [link] [留言]
Reddit r/programming
The Best Tools for Automating Marketing Graphics in 2026
Bannerbear, Picnie, Placid, Creatomate, BannerBoo, and what to consider before choosing a creative automation platform. Marketing teams rarely have a problem coming up with new campaigns. The problem usually begins after a campaign is approved. One design may need to become a dozen social posts. A
Dev.to (EN Zone)