Volver al Centro de conocimiento
Red

Cloudflare y DataDome: señales durante el scraping

Distingue retos de Cloudflare, decisiones de DataDome y errores del origen. Interpreta la respuesta sin deducir puntuaciones internas.

BotBrowser Team

Documentación

Quieres la documentación estructurada de Red?

Este artículo forma parte de la biblioteca editorial. Para pasos de configuración, material de referencia y actualizaciones continuas, entra en la sección de docs.

Una respuesta de Cloudflare o DataDome durante el scraping permite observar una decisión de acceso, no todas las señales que la produjeron. Primero hay que distinguir un reto del contenido solicitado, un error del origen o un fallo de integración. BotBrowser documenta controles del navegador y de cabeceras de solicitud; no expone el estado de decisión privado de estos proveedores y no garantiza la aceptación. Una recopilación autorizada debe clasificar la respuesta y remitir las decisiones de acceso sin resolver al propietario del sitio mediante su canal de soporte aprobado.

Ver el vídeo

Este vídeo en inglés explica cómo clasificar una página de reto de Cloudflare, un HTTP 403 genérico y un documento HTML inesperado durante el scraping, y por qué la puntuación oculta o la decisión de DataDome requieren el registro correlacionado del operador. El audio está en inglés.

La clasificación separa el marcador cf-mitigated de Cloudflare de un HTTP 403 ambiguo. Los registros de integración del propietario aportan contexto; la respuesta al cliente no revela una puntuación interna.

Resumen

  • Cloudflare documenta cf-mitigated: challenge como marcador de una página de reto, con text/html aunque se solicite otro tipo de recurso.
  • Un HTTP 403 genérico no identifica un proveedor, una regla ni una señal del navegador.
  • Las puntuaciones de Cloudflare y las decisiones de la integración de DataDome tienen un límite de observación distinto de la respuesta al navegador.
  • La clasificación debe separarse del permiso, del éxito de la aplicación y de la causa de una denegación.
  • Conserva una correlación de solicitudes sin secretos y pide al operador autorizado que consulte sus registros.

Contenido

Puntuaciones de Cloudflare y acciones configuradas

La documentación de puntuaciones de Cloudflare define valores de 1 a 99. Con 1, Cloudflare tiene bastante certeza de que la solicitud es automatizada; con 99, de que procede de una persona. Son extremos de una clasificación del proveedor, no una conversión porcentual publicada. Un valor no certifica permanentemente la identidad del cliente, y un cliente externo no debe atribuirse una puntuación a partir de la página recibida.

La misma referencia indica que el operador puede usar puntuaciones en reglas personalizadas del WAF para bloquear, presentar retos o permitir solicitudes, y también en Workers. Clasificación y acción son cuestiones distintas: la política configurada transforma la información disponible en una respuesta. Las puntuaciones detalladas requieren la modalidad Enterprise Bot Management documentada. Ver un reto no demuestra que se utilizara ese nivel de producto ni una determinada regla basada en puntuaciones.

Cloudflare describe mecanismos heurísticos, aprendizaje automático y detecciones JavaScript. Esa descripción pública no detalla la contribución de cada valor del navegador a una denegación concreta. El análisis general de detección de automatización distingue las propiedades expuestas por el navegador del contexto completo de la solicitud. Modificar una propiedad no demuestra que el proveedor cambiara su clasificación ni que el sitio concediera permiso.

Al comparar solicitudes, limita la inferencia. Una respuesta distinta puede coincidir con otra ruta de la aplicación, otro estado de sesión u otra regla del propietario. Sin un registro correlacionado del operador autorizado, no permite aislar una entrada del detector como causa. Registra primero la solicitud y su resultado visible; una puntuación no disponible debe seguir constando como no disponible.

El análisis de puntuaciones y registros de Cloudflare profundiza en las pruebas del lado del operador. Una entrada de puntuación debe asociarse a su solicitud, no tomarse de otra navegación del mismo navegador. La solicitud del documento y la posterior solicitud de datos pueden tener decisiones distintas. Compara la transacción identificada con su propio registro, no con un supuesto veredicto para toda la pestaña.

Una respuesta de reto en una recopilación

La referencia de respuestas de reto de Cloudflare especifica un marcador visible para el cliente: cf-mitigated con valor challenge. También indica que el tipo de contenido es text/html independientemente del recurso solicitado. Por tanto, un endpoint que normalmente devuelve JSON puede entregar un reto HTML en lugar de los datos. Comprueba los metadatos disponibles antes de enviar el cuerpo a un analizador JSON.

Un cuerpo HTML inesperado no basta para atribuir la respuesta. Una página de inicio de sesión, una plantilla de error del origen o una página intermediaria también pueden ser HTML. Prefiere el marcador documentado cuando esté disponible y distingue una cabecera observada en herramientas de red de una legible desde JavaScript. El ejemplo fetch de la referencia ilustra la comprobación; no hace legible cualquier cabecera en cualquier solicitud entre orígenes.

Si la respuesta es una página de reto documentada, detén la extracción dependiente. Un fallo posterior del analizador es una consecuencia, no una prueba de que cambiara el esquema de datos. El diagnóstico por capas del scraper bloqueado explica por qué transporte, HTTP y procesamiento del documento requieren registros separados. Un sistema de monitorización no debe convertir silenciosamente un reto en un conjunto de resultados vacío.

El propietario debe determinar si esa vía de acceso está aprobada y si la acción configurada es la esperada. Resolver automáticamente un reto del navegador, modificar su código o cambiar repetidamente propiedades del cliente queda fuera de ese diagnóstico. El límite también se aplica si el proceso conserva cookies de cuenta: el estado del cliente no prueba que siga autorizado para la operación.

Conserva la cadena de respuestas cuando haya redirecciones. Un HTTP 200 final puede corresponder a un formulario de acceso alcanzado después de cambiar la ruta solicitada. Registra la URL final y el historial permitido, junto al tipo de contenido, sin guardar valores de consulta firmados. Comparar el endpoint solicitado con otro documento final puede hacer que una modificación de rutas parezca una decisión del detector. No sigas destinos inesperados fuera del alcance autorizado solo para completar el registro.

Decisiones de DataDome dentro de la integración

La referencia de validación de solicitudes de DataDome describe un módulo del servidor que consulta su API y aplica la decisión recibida. Requiere acceso a las cabeceras y a la dirección IP del usuario; también recomienda información de la huella TLS entrante donde se admita. Son entradas de la integración. La lista pública no revela sus pesos en una solicitud ni demuestra que cada instalación recopile todas las entradas opcionales.

La referencia distingue la decisión de la API de la respuesta que finalmente recibe el cliente. La integración reenvía una solicitud permitida al backend, mientras una decisión de reto devuelve la respuesta facilitada por la API según el mapeo documentado. El navegador que visita el sitio no recibe necesariamente ese intercambio interno. No interpretes su HTTP 200 como una lectura directa de la decisión interna de DataDome: el contenido o el resultado de autorización de la aplicación pueden ser distintos.

DataDome también describe, para esa integración, una vía de fallo abierto si falta la cabecera de decisión. Es una instrucción para quien implementa el módulo, no una autorización para el cliente cuando no ve una cabecera. La falta de metadatos visibles puede deberse al propio límite de observación. No prueba que hubiera fallo abierto, que el módulo funcionara correctamente ni siquiera que estuviera presente.

La referencia exige tratar los mapeos de cabeceras hacia el origen y hacia el cliente, y advierte que las cabeceras indicadoras internas no deben exponerse al usuario. En una investigación autorizada, solicita al operador la decisión pertinente y una correlación sin secretos. No exijas su configuración interna ni recopiles tokens de sesión solo para clasificar una respuesta. Así no se confunden detalles del servidor con una API pública de detección para el cliente.

Si la integración devuelve un documento inesperado, el operador puede comparar el estado mapeado, el tipo de cuerpo y las cabeceras descendentes con la observación real del cliente. Revisa ese mapeo antes de culpar a una API del navegador.

Tabla de decisión entre respuesta y acción

Aplica la tabla como regla de clasificación para un proceso que ya está autorizado. Sus filas describen condiciones documentadas y observaciones ambiguas, no mediciones sobre un objetivo protegido por estos proveedores. Usa la prueba más específica disponible; si falta el marcador o el registro requerido, conserva la incertidumbre.

Observación disponibleClasificación respaldadaSiguiente acción autorizadaInferencia no respaldada
cf-mitigated: challengeMarcador documentado de página de reto de CloudflareDetener el análisis de datos y consultar la vía de acceso previstaUna puntuación o propiedad concreta provocó el reto
HTTP 403 sin marcador específicoAcceso denegado en el límite observadoCorrelacionar con registros autorizados del perímetro y del origenDataDome o Cloudflare tomó necesariamente la decisión
HTTP 200 con HTML inesperadoRespuesta inadecuada para la etapa JSONRevisar tipo de contenido, marcadores y resultado de la aplicaciónRecopilación correcta o decisión interna de permitir
Decisión de integración de DataDome correlacionada por el operadorDecisión del módulo registrada para esa solicitudComparar acción, respuesta y vía permitida de la aplicaciónEl cliente puede leer todos los campos internos de la API
Sin metadatos de decisión legiblesPruebas insuficientes para atribuirla a un proveedorConservar un registro sin secretos y solicitar correlaciónNo había protección o se produjo un fallo abierto

La tabla separa deliberadamente estado HTTP y éxito de la aplicación. Una página recopilada puede ser un error; una respuesta válida puede no contener datos autorizados para esa cuenta. El análisis de estado de sesión en scraping explica por qué conservar cookies no resuelve esto. Una clasificación no disponible es un resultado de investigación, no un veredicto que deba forzarse a éxito o fallo.

Separa los resultados de extracción de los incidentes. Si un endpoint entrega text/html cuando el contrato de la aplicación exige JSON, conserva un error clasificado del trabajo en lugar de publicar una lista de precios vacía o borrar registros anteriores. Es una decisión de tratamiento de datos del consumidor, no una nueva afirmación de detección. Reanuda la canalización únicamente mediante la recuperación aprobada de la aplicación, una vez resuelta la condición de acceso o integración.

Correlacionar la solicitud sin recopilar secretos

En un sitio propio, conserva ruta solicitada, hora y base del reloj, estado HTTP, tipo de contenido y el identificador de correlación permitido. La referencia de cabeceras de Cloudflare describe Cf-Ray como identificador de solicitud útil para correlacionar. No es una puntuación ni un token de permiso. Indica dónde se observó y qué registro se consultó; verlo no demuestra que el origen procesara la solicitud.

Separa observaciones del cliente y conclusiones del operador. El cliente puede registrar cf-mitigated: challenge; el operador autorizado puede añadir la regla o decisión de integración correlacionada. Sin ese registro, la causa sigue sin confirmar. Repetir el mismo estado en varias ejecuciones del navegador no aporta la prueba interna que falta.

Identifica la herramienta de observación. Un fetch entre orígenes puede no exponer los mismos campos que la instrumentación de red autorizada. Si la página no puede leer una cabecera, regístrala como ilegible desde ese límite, no como ausente de la respuesta de red. El propietario puede consultar registros o instrumentación aprobada sin cambiar la política entre orígenes para satisfacer un script. La visibilidad de una herramienta limita la prueba; no es un veredicto del proveedor.

Elimina cookies, cabeceras de autorización, URLs de reto firmadas y datos de cuenta antes de guardar o compartir muestras. Conserva solo el fragmento permitido necesario para clasificar el documento. Un cuerpo puede contener secretos incluso con estado 403. El incidente necesita contexto para reproducir un fallo autorizado, no una sesión reutilizable ni la huella completa de otro usuario.

Indica si la respuesta procede de una transacción de red nueva o de una caché controlada por la aplicación, cuando se conozca. Un error HTML guardado puede seguir visible tras cambiar la integración. Correlacionar su antiguo Cf-Ray con la hora actual apunta a la solicitud equivocada. Conserva la hora original y la procedencia; una captura de pantalla no demuestra que se realizara una nueva solicitud.

Mantén los límites de carga vinculados al mismo propósito de aplicación en todas las solicitudes y rutas. Una denegación no ordena aumentar concurrencia, rotar direcciones ni reproducir tokens. Tras clasificar, la decisión útil es la vía aprobada por el operador o detener el trabajo. Eso da un final concreto a la investigación sin asumir que toda denegación se repara en el navegador.

Controles del navegador y límite de acceso

La documentación de cabeceras personalizadas de BotBrowser describe cómo establecer, leer, actualizar y retirar cabeceras configuradas. Son controles de configuración del navegador, no un canal para fijar una decisión generada en el servidor. Copiar un marcador de respuesta a una solicitud no reproduce el proceso de confianza que lo originó. Explicita la dirección de cada cabecera al revisar la configuración.

En una prueba de aplicación propia, esos controles ayudan a comprobar que la cabecera prevista llegó al destino autorizado. La guía de cabeceras HTTP personalizadas trata ese límite de configuración. El resultado demuestra lo observado por esa prueba, no aceptación de Cloudflare o DataDome, cambios de puntuación ni entradas privadas de detección. No se afirma haber realizado experimentos de ejecución contra esos proveedores.

Navegador, integración y aplicación aportan partes distintas del registro. Los grupos gestionados que toman una decisión parecida en otro proveedor se componen de otra forma, y AWS WAF Bot Control: lo que un cliente ve realmente lee esa estructura regla por regla. BotBrowser no proporciona capacidad de proxies ni concede permisos o decisiones de acceso en nombre del servicio protegido. Si una denegación responde a la política esperada, consérvala como condición de parada. Si el propietario identifica un defecto de integración, repara la integración autorizada en lugar de tratar valores del navegador como prueba de identidad.

Preguntas frecuentes

¿Un reto de Cloudflare revela la puntuación?

El marcador documentado identifica una página de reto. La acción configurada y una posible puntuación requieren registros pertinentes del operador; la respuesta al cliente no ofrece una conversión de puntuaciones.

¿La ausencia de una cabecera de DataDome demuestra fallo abierto?

No. La integración del servidor y la respuesta al cliente tienen visibilidades distintas. El operador debe consultar la decisión real del módulo antes de atribuir esa vía.

¿Una respuesta HTTP correcta puede romper la extracción?

Sí. Revisa el documento y el resultado de la aplicación además del estado. Un HTML recibido donde se esperaba JSON no debe registrarse como recopilación correcta sin datos.

¿Una cabecera de solicitud personalizada fija la decisión del proveedor?

Cambiar la configuración del navegador no crea una decisión fiable del proveedor. Usa cabeceras para requisitos declarados de la aplicación propia, no como supuesto mecanismo de autorización.

Fuentes

Conclusión práctica

Clasifica la respuesta antes de extraer: usa el marcador documentado cuando esté disponible, distingue el estado HTTP del éxito de la aplicación y deja puntuaciones y causas internas sin determinar hasta contar con una correlación del operador autorizado. Conserva un registro mínimo sin secretos, detén el trabajo rechazado y usa la vía de acceso aprobada. La configuración del navegador es una entrada del proceso, no permiso para continuarlo.

#scraping web#Browser Automation#privacidad

Este artículo forma parte de la guía: Panorama de configuración de proxy: mapa de decisiones de red

Ejecuta la misma comprobación en BotBrowser

Carga un perfil, mantén dentro del navegador las señales que acabas de leer y confirma el resultado en tu propia máquina antes del despliegue.