Casi el 20% de todos los sitios web que querrás eliminar utilizan la protección anti-bot de Cloudflare. Si bien es muy eficiente y difícil de evitar, todavía existen técnicas para evitarlo. Contamos con nuestros mejores desarrolladores para mostrarle los cinco mejores métodos para evitar Cloudflare.
Primero, ¡veamos más sobre cómo funciona esta detección de bots!
¿Qué es Cloudflare y cómo funciona?
Cloudflare es una red de distribución de contenidos y una empresa de seguridad de Internet que protege los sitios web contra el tráfico de bots no deseados. Utiliza algoritmos avanzados de aprendizaje automático para distinguir entre solicitudes humanas y automatizadas y bloquear estas últimas para evitar spam, ataques DDoS y amenazas similares. Desafortunadamente, los web scrapers son víctimas de esta guerra.
Cloudflare detecta bots mediante una combinación de técnicas activas y pasivas. Aquí hay unos ejemplos:
- Detección de botnets: Cloudflare recopila información sobre dispositivos, IP y patrones de comportamiento asociados con la actividad de los bots y la mantiene en un catálogo para referencia en tiempo real.
- Análisis de reputación de direcciones IP: La reputación de su IP se basa en varios factores, incluido el ISP, el historial de comportamiento en línea y la geolocalización. Cloudflare lo usa para determinar la confiabilidad de su IP.
- Análisis de encabezados de solicitud HTTP: La falta de un agente de usuario o el uso de uno que no sea un navegador rápidamente despertará las sospechas de Cloudflare.
- CAPTCHA: Estos desafíos tienen como objetivo distinguir el tráfico humano del de bots. Cada vez es más difícil evitarlos, por lo que es mejor evitar activarlos en primer lugar.
- Huellas dactilares en lienzo: Cada dispositivo tiene una clase de cliente web basada en su navegador, sistema operativo y hardware de gráficos. Cloudflare tiene una gran base de datos de huellas dactilares de lienzo para distinguir a los usuarios reales de los bots.
- Seguimiento de eventos: Los humanos interactúan con un sitio de manera muy diferente a los robots. Cloudflare utiliza detectores de eventos para rastrear acciones como movimientos del mouse y pulsaciones de teclas para detectar desviaciones del patrón de comportamiento esperado.
- Desafíos de JavaScript: Las solicitudes de Botnet carecen de la pila de JavaScript necesaria para superar el desafío, lo que hace que Cloudflare las bloquee.
En general, Cloudflare utiliza estos y otros métodos para recopilar datos del sensor y detectar inconsistencias en el lado del servidor para bloquear bots como su raspador. ¡Ahora veamos qué puedes hacer al respecto!
Cómo evitar Cloudflare
Profundicemos en los cinco mejores métodos para evitar Cloudflare.
Utilice una API para evitar Cloudflare
Desarrollar y mantener su propio solucionador requiere mucho trabajo. Pero, afortunadamente, existe una solución eficaz: ZenRows.
ZenRows es un API de web scraping capaz de eludir las medidas de protección de Cloudflare. Puede encargarse de todo lo que se interponga en su camino, por lo que no necesita preocuparse por técnicas de detección, ofuscación dinámica o resolución de desafíos.
Viene con funciones premium como servidores proxy residenciales rotativos, orientación geográfica y omisión de WAF, y se integra perfectamente con cualquier lenguaje de programación.
Utilice solucionadores de Cloudflare
Probablemente hayas visto bibliotecas que afirman que pueden superar el desafío de Cloudflare. En realidad, la mayoría de ellos no servirán de mucho, ya que están desactualizados o no reciben un mantenimiento activo.
Sin embargo, todavía existen algunos relativamente fiables. opciones como FlareSolverr que usan Selenium sin cabeza con ChromeDriver no detectado para evitar la detección. Las desventajas son que esta herramienta utiliza mucha memoria, es difícil de escalar y puede fallar frente a técnicas avanzadas anti-bot.
Evite los CAPTCHA
Cuando se trata de CAPTCHA, tienes dos opciones, resolverlos o evitarlos. Si eliges lo primero, puedes utilizar servicios como 2Captcha, que emplea personas reales para resolver las pruebas manualmente. Sin embargo, eso acabará saliendo bastante caro.
Alternativamente, evitar los CAPTCHA es más fácil y económico, pero algunos de los sitios mejor protegidos presentan estos desafíos a todos los visitantes. En ese caso, deberá crear una omisión de CAPTCHA de Cloudflare utilizando los servicios de resolución mencionados o ahorrar tiempo y recursos evitando que aparezca.
Sin embargo, si analiza su objetivo detenidamente, puede descubrir que sólo utiliza las máximas medidas de seguridad en determinados momentos o días. Así que sólo ríndete cuando hayas agotado tus opciones.
Moverse por Cloudflare CDN
En una palabra, Cloudflare no puede bloquearte si tu solicitud no va a su servidor sino directamente al servidor de origen. ¡Con buena pinta! Desafortunadamente, solo es posible en algunos casos, por lo que aquí tendrás que pasar por un proceso de prueba y error.
Primero, necesitarás encontrar la IP de origen. Eso no será fácil, ya que Cloudflare oculta los registros DNS de sus sitios web protegidos. Es por eso que debes verificar los subdominios, el correo o los servicios antiguos desprotegidos. Alternativamente, puede visitar bases de datos como Shodan o utilizar herramientas como CloudFlair.
Una vez que tengas la IP, necesitarás encontrar una manera de solicitar los datos. Pegarlo en la barra de URL de su navegador no siempre funcionará, por lo que necesitará herramientas programáticas como cURL o Python Requests. Es una buena solución, pero no funcionará siempre, ¡así que veamos qué más hay sobre la mesa!
Evite la sala de espera y aplique ingeniería inversa al desafío
Cada vez que visitas un sitio web protegido por Cloudflare, te colocan en la sala de espera, para que tu navegador pueda resolver desafíos para demostrar que eres humano. Dependiendo del éxito, serás redirigido a la página que deseas visitar o aparecerá la pantalla “Acceso denegado” y la opción de resolver un desafío CAPTCHA.
La forma de evitar esto es analizar el desafío de JavaScript para comprender el algoritmo detrás de él. Eso le permitirá realizar ingeniería inversa en el script. Definitivamente no es fácil de hacer pero vale la pena el esfuerzo. Veamos si hay una técnica más sencilla.
Conclusión
Como puede ver, Cloudflare hace honor a su nombre. Eludir sus medidas de detección de bots requiere mucho tiempo, esfuerzo y otros recursos. Y, sin embargo, es posible. Discutimos los mejores métodos para hacerlo, así como sus desventajas y limitaciones.
En general, utilizar una API de web scraping como ZenRows es la opción más segura, ya que maneja la mayor parte del trabajo por sí sola con funciones avanzadas para evitar las sospechas de Cloudflare.