- Blog
- ¿Qué es Google reCAPTCHA y cómo ayuda en tu sitio web?
¿Qué es Google reCAPTCHA y cómo ayuda en tu sitio web?
La seguridad es uno de los aspectos que más debería preocuparnos a las personas que mantenemos sitios web. Existen numerosos tipos de protecciones, siendo los CAPTCHA una de las imprescindibles. En este post vamos a explicarte qué son y cómo implementarlos a través del servicio más conocido de la actualidad: Google reCAPTCHA.
¿Qué es Google reCAPTCHA?
Google reCAPTCHA es un servicio gratuito de CAPTCHA. Seguro que has visto los CAPTCHA en numerosas ocasiones al navegar y usar los sitios web. Son aquellas verificaciones que hacen en formularios, para asegurar que seas un humano.
Este tipo de herramientas están pensadas para proteger sitios web del uso malicioso, por parte de bots automatizados. Su propósito principal es verificar que las interacciones con un sitio web se hacen por humanos y no por máquinas, es decir, scripts automatizados. Para conseguir realizar esto generalmente te ponen un desafío en el que debes reconocer un texto o unas imágenes, o simplemente pulsar una casilla de verificación.
Quizás te preguntes ¿por qué es tan importante verificar que son humanos los que están usando el sitio? Pues la razón es muy sencilla: evitar el fraude.
Y es que, desafortunadamente, hay muchas personas que por medio de bots intentan sacar partido fraudulento de los sitios web, por ejemplo introduciendo spam, creando usuarios para usar servicios de manera fraudulenta, intentando averiguar las claves de otros usuarios mediante mecanismos de fuerza bruta, etc.
¿Para qué sirve Google reCAPTCHA?
Pues simplemente para comprobar que un humano es quien usa la página, lo que generalmente equivale a que la ésta se está usando de una manera legal y lícita. Veamos sus principales utilidades:
Protección contra bots y spam en formularios web
Si mantienes un sitio web, especialmente si está basado en algún CMS popular, habrás podido observar que un típico ataque consiste en usar tus formularios para enviar comentarios con spam. Pues bien, reCAPTCHA te ayuda a proteger los formularios de contacto, o comentarios o frente a envíos automatizados que traten de inundar tu base de datos o hacerte llegar correo no deseado.
Mejora de la seguridad en accesos y registros
En los formularios de login y registro también podemos sacarle mucho partido a reCAPTCHA, ya que otro ataque habitual de los bots consiste en intentar recuperar o adivinar contraseñas de manera automatizada, con las que acceder a las cuentas de usuarios verídicos. O quizás simplemente darse de alta en un servicio para usarlo de forma fraudulenta, intentando enviar spam o accediendo a recursos de manera masiva, que les sirvan de puente para realizar otras acciones fraudulentas.
Recolección de datos para el entrenamiento de IA
reCAPTCHA también te puede ayudar a que tu sitio web y la información confidencial que contiene no pueda ser utilizado para la recolección de datos, evitando técnicas como el scrapping o la obtención de datos con los que entrenar a modelos de IA.
Tipos de reCAPTCHA
El servicio reCAPTCHA ha evolucionado bastante a lo largo del tiempo y a día de hoy se pueden usar diferentes versiones que se adaptan a las necesidades del desarrollador y la experiencia de usuario que deseemos conseguir.
reCAPTCHA v2
Esta es la versión más conocida, que requiere una acción explícita por parte del usuario, a veces tan sencilla como marcar una casilla que pone «No soy un robot». A veces, dependiendo de la necesidad del servicio (que generalmente viene dada por la certeza del sistema de que no seas un robot), te puede pedir resolver un desafío visual, como por ejemplo identificar las imágenes donde aparece un animal en particular.
Este modelo de CAPTCHA es muy efectivo aunque, al requerir acción por parte del usuario, también puede resultar algo intrusivo.
reCAPTCHA invisible
El reCAPTCHA invisible es una evolución de la versión 2 de reCAPTCHA que no requiere una interacción explícita y visible por parte del usuario, lo que resulta menos intrusivo.
Nuevamente, es invisible hasta cierto punto, porque si se detecta un comportamiento sospechoso en realidad sí se mostrará el desafío al usuario para que se verifique que realmente es una persona.
reCAPTCHA v3
Luego tenemos reCAPTCHA v3 que es una versión un poco más avanzada. Esta herramienta es capaz de evaluar el comportamiento del usuario en segundo plano y asignar una puntuación de riesgo, pero sin mostrar ningún desafío.
Luego, es el desarrollador el que debe decidir si permitir o bloquear la acción basándose en ese análisis, o establecer nuevas verificaciones en caso que la puntuación esté en un límite donde no se tenga total certeza de cómo se debería proceder.
Cómo funciona Google reCAPTCHA
Para que puedas entender mejor este servicio vamos a explicar el funcionamiento de Google reCAPTCHA y sus mecanismos visibles e invisibles, para distinguir entre usuarios verídicos y bots.
Identificación de usuarios humanos mediante desafíos interactivos
Las versiones más tradicionales de los CAPTCHA, incluido Google reCAPTCHA v2, se basan en realizar presentan desafíos visuales a los usuarios. En este caso se trata de seleccionar imágenes que contengan elementos diversos como semáforos, un animal en concreto, coches, motos, etc.
Estos sistemas tratan de poner imágenes bastante ambiguas, de modo que si no es una persona la que está resolviendo el desafío es fácil que se equivoque. Así los bots comúnmente fallarán y se dará por entendido que no es una persona física la que intenta usar el sitio web.
Análisis de comportamiento en segundo plano sin intervención del usuario
Las versiones más modernas de reCAPTCHA son capaces de trabajar en segundo plano capturando y analizando cómo se interacciona con la página, es decir, cómo se mueve el ratón, dónde se hace clic, cómo se han rellenado los campos de formulario, etc. Esto da una información bastante precisa al sistema de CAPTCHA que le ayuda a deducir con altas cuotas de éxito si era una persona o no, apoyándose en los patrones de comportamiento que tendrían los usuarios comunes.
Validación mediante puntuaciones de riesgo (reCAPTCHA v3)
Los servicios como reCAPTCHA v3 ponen en manos del desarrollador las puntuaciones de riesgo, un valor que se establece entre 0.0 a 1.0, y que se otorga en función del comportamiento del usuario y los patrones esperados por las personas humanas.
Cuanto más alta es la puntuación mayor es la probabilidad de que el usuario sea humano. Con la puntuación de riesgo es el desarrollador el que debe o no permitir el acceso a una funcionalidad. Por tanto queda de nuestra parte establecer los umbrales que consideramos válidos, dependiendo del grado de seguridad que se necesite implementar o de su propia experiencia.
Uso de cookies y tecnologías de rastreo para evaluar autenticidad
Adicionalmente, el sistema reCAPTCHA también utiliza cookies, dirección IP, historial de navegación y otros factores que pueden ayudar a determinar si el usuario es real. Si los valores que tiene almacenados en el navegador son positivos es más fácil que lo trate como un ser humano y no como un bot, lo que hace que todavía los procesos de reconocimiento del fraude sean más precisos.
Integración en formularios mediante claves API y scripts
Usar reCAPTCHA no resulta demasiado complejo, pero sí que requiere tener un poco de experiencia, sobre todo si lo tenemos que integrar manualmente.
En todo caso, debemos comenzar por registrar el dominio donde vamos a usar el servicio en la página de reCAPTCHA. El servicio es gratuito pero requiere que te autentiques con tu cuenta de Google.
Una vez tengas registrado el sitio podrás obtener una clave de sitio (site key) y una clave secreta (secret key) que te servirá para configurar el sistema.
Luego te entregarán los scripts necesarios que te servirán para configurar el formulario y, ya dependiendo del lenguaje de backend que estés usando, tendrás que verificar las respuestas de reCAPTCHA para permitir o no las acciones que se pretenden realizar en tu servidor.
Luego veremos otras guías y consejos de instalación, pero no te preocupes porque no es demasiado complicado. Incluso si usas algún CMS generalmente podrás apoyarte en plugins que te permitan una integración sin necesidad de programar nada.
Ventajas de usar reCAPTCHA
Si aún estás pensando si deberías incorporar reCAPTCHA en tu sitio web, te damos a dar ahora unos motivos que te resultarán más que suficientes.
Protección eficaz contra bots y spam automatizado
Entre todos los sistemas de CAPTCHA, reCAPTCHA es sin duda el más conocido y poderoso, sin llegar a incomodar al usuario demasiado.
No te recomendamos esperar a ver los efectos negativos del spam o el acceso malicioso al sitio. En lugar de ello es mejor establecer las barreras desde el inicio para que los bots no traten de sacar partido de tus datos o tus servicios.
Mejora de la seguridad sin afectar la experiencia del usuario
Además, como hemos dicho ya, reCAPTCHA consigue funcionar sin molestar demasiado al usuario, de una manera bastante transparente incluso si se desea, lo que hace que la persona no se frustre o tenga una mala experiencia.
Además, como los usuarios están muy acostumbrados a lidiar con reCAPTCHA no resultará tan molesto como otros sistemas de comprobación.
Opciones adaptadas a distintos niveles de riesgo y usabilidad
Las diferentes versiones de reCAPTCHA nos permiten escoger cuál es el nivel de prevención que deseamos implementar y cómo es la interacción que queremos que el usuario tenga con el «validador de humanos». Esto hace que el sistema se adapte bien a un blog sencillo o a una aplicación crítica.
Fácil implementación en sitios web y aplicaciones
Integrar un CAPTCHA siempre da un poco de trabajo, pero reCAPTCHA es relativamente sencillo, incluso si no tienes conocimientos avanzados de programación. Además, como es un sistema muy popular encuentras tutoriales y guías de implementación muy fácilmente, aparte de las que el propio Google proporciona.
Además, como hemos dicho ya, el sistema es compatible con múltiples plataformas y CMS, existiendo integraciones ya listas que son sencillas de aplicar a tu sitio web.
Reducción de fraudes y accesos no deseados
Además de protegernos contra el spam, reCAPTCHA también ayuda a prevenir accesos no autorizados, por ejemplo limitando los accesos a servicios y eliminando la posibilidad de ataques de fuerza bruta. Esto es importante en muchos tipos de aplicaciones.
Cómo integrar reCAPTCHA en tu sitio web paso a paso
Finalmente, vamos a dar algunas guías y consejos para la integración de reCAPTCHA en tu sitio web, aunque el proceso completo dependerá mucho del lenguaje de programación que utilices, el sistema de gestión de contenidos, o la versión de reCAPTCHA que quieras integrar.
Crear una cuenta en Google reCAPTCHA
Siempre debes comenzar por usar tu cuenta Google para acceder al sitio de reCAPTCHA. Luego pulsamos el botón de «Comenzar».
Esto te dará acceso a la página de guías para desarrolladores, con información completa sobre cómo administrar cada una de las versiones de reCAPTCHA por separado. Podrás escoger el tipo de reCAPTCHA que deseas en la parte de la izquierda. Incluso en ese mismo menú un poco más abajo encontrarás implementaciones en servidores.
Cuando ya tengas claro cómo funciona encontrarás en esta misma página un enlace para acceder a la página de administración de sitios. Esta página es importante porque es donde tenemos que dar de alta nuestro dominio.
Obtener claves de sitio y secreto
Dentro de la página de administración de sitios de reCAPTCHA tenemos que realizar el registro de nuestro dominio.
Esto es tan sencillo como rellenar el formulario y seleccionar el tipo de reCAPTCHA que queremos
.
El proceso culmina con la obtención de dos datos que son fundamentales para la integración del servicio:
- Clave de sitio (Site key). Esta clave se utiliza en el código del lado del cliente (el formulario HTML.
- Clave secreta (Secret key): que es la clave que se utiliza en el backend, del lado del servidor, para verificar las respuestas con los servidores de Google.
Insertar el script en tu HTML o CMS (WordPress, Joomla!, etc.)
Luego ya se trata de hacer la integración con tu código, que aquí sí depende mucho de la plataforma de desarrollo que tengas. Puede que uses un CMS, en cuyo caso el proceso sería más automático, o puede que desarrolles todo de manera personalizada, en cuyo caso el proceso será más manual.
Si lo haces de manera manual tendrás que introducir los scripts de reCAPTHA, tal como indican las guías de Google que hemos visto antes. Tendrás que introducir un código de un script Javascript con la típica etiqueta