Entre las numerosas interacciones que podemos tener en distintas aplicaciones y sitios web con formularios; ya sea de registro, inicio de sesión o contacto, es muy probable que nos hayamos topado con un mecanismo de seguridad conocido como “Captcha”.
Este método, ampliamente reconocido en el mundo digital, se presenta de diversas maneras y ha evolucionado con el tiempo. Sin embargo, su objetivo sigue siendo el mismo: añadir una capa extra de protección contra usuarios malintencionados y los bots que buscan vulnerar sistemas.
En este artículo, exploraremos de forma sencilla qué es un Captcha y para qué sirve en un sitio web.
Tabla de contenidos
¿Qué es el Captcha?
Podemos tomar la definición de un Captcha por sus siglas “Completely Automated Public Turing test to tell Computers and Humans Apart” o traducido sería algo como la prueba de turing público y automático para distinguir los ordenadores de los humanos.
Se trata de un mecanismo diseñado para distinguir entre humanos y bots en aplicaciones y sitios web, donde suele ser utilizado como una medida de seguridad para evitar el uso indebido de servicios automatizados, como el envío masivo de formularios, la creación de cuentas falsas o los intentos de acceder a sistemas mediante fuerza bruta (Brute Force).
Por otro lado, más que Captcha probablemente estemos mucho más familiarizados con “reCpatcha”, donde si bien ambos pertenecen al mismo mecanismo, guardan sus diferencias.
reCAPTCHA por su parte es la evolución de los Captchas de la mano de Google, con el fin de proteger los sitios web contra bots y accesos automatizados malintencionados. Su objetivo principal es diferenciar entre usuarios humanos y programas automatizados (bots) que intentan interactuar con formularios, sistemas de inicio de sesión u otros elementos web.
¿Para qué sirve el Captcha?
Si somos realmente objetivos, la implementación de un Captcha en un determinado formulario es para proteger estas aplicaciones web y sistemas de posibles abusos o accesos no autorizados realizados por bots o programas automatizados.
El principal propósito del mecanismo es distinguir entre usuarios humanos y bots, garantizando que las interacciones en el sistema sean legítimas. Sin embargo, hay otros aspectos en los que la importancia de un Captcha se hace presente, por ejemplo:
Prevenir spam: Captcha es un método efectivo para bloquear el envío masivo de formularios automatizados, como comentarios, encuestas o solicitudes de contacto. Disminuyendo así la probabilidad de notificaciones no deseadas y comentarios categorizados como spam.
Evitar registros falsos: así como puede bloquear envíos masivos en formularios, el uso de Captcha impide que los bots puedan crear cuentas falsas en plataformas como redes sociales, servicios de correo electrónico o aplicaciones web.
Protección contra ataques automatizados: los ingresos no deseados y acciones masivas son considerados ataques automatizados o ataques de fuerza bruta, Captcha hace que el proceso de descifrar contraseñas o acceder a cuentas protegidas sea mucho más difícil.
Controlar la gestión de recursos: Captcha implementado puede ayudar a limitar los accesos automatizados a servicios como descargas, sorteos o funciones de consulta masiva. De esta forma no se abusa de la disposición de estos elementos/recursos que están dispuestos a un público o propósito en concreto.
Garantizar interacciones genuinas: aunque los beneficios del uso de un Captcha puedan parecer limitados, no debemos subestimar su importancia para preservar la integridad de elementos interactivos como encuestas, votaciones en línea y otros sistemas que dependen de la participación de usuarios humanos.
Tipos de Captchas
Tal y como ya hemos mencionado al momento de definir qué es y para qué sirve un Captcha, esta herramienta la podemos encontrar de varias formas, tamaños y presentaciones.
Es por ello que vamos a mencionar los tipos de Captcha más comunes para saber identificarlos.
Pruebas matemáticas
Uno de los tipos de Captcha más sencillos, se presenta como un cálculo simple, por ejemplo, “¿cuánto es 3 + 5?”, donde el usuario debe resolver la operación matemática.
El objetivo es eludir los robots que no pueden identificar la operación matemática de manera implícita, nosotros como usuarios podemos resolverlos de forma sencilla; sin embargo, la tecnología avanza en todos los aspectos y los bots no se quedan atrás.
Puede darse el caso que bots de nueva generación puedan resolver este tipo de operaciones más rápido que antes.
Texto Distorsionado
Otro uso muy popular en su época fue el uso de Captcha por medio de un texto distorsionado, se trataba de una palabra que se le muestra al usuario que está compuesta de caracteres al azar, además de tener cierta distorsión donde el reto para el usuario es introducir los caracteres que se puedan comprender.
Es efectivo contra bots, pero entre sus desventajas podemos destacar que puede resultar difícil de leer, especialmente para personas con discapacidades visuales.
Identificar imágenes
Uno de los Captcha que podemos seguir viendo hoy en día mientras navegamos es cuando se despliega un conjunto de imágenes donde la tarea en este caso es identificar un factor en común que se nos ha solicitado, por ejemplo “Seleccione todas las imágenes con Bicicletas”.
Este tipo de Captcha sigue siendo muy efectivo, además de ser bastante intuitivo para nosotros los humanos, sin embargo, puede ser en algunos casos algo confuso o incluso tedioso el realizar la pequeña tarea solicitada, además de que algunas imágenes mostradas pueden ser de una calidad cuestionable.
Validación de “No soy un robot”
Este tipo de Captcha (reCAPTCHA en su segunda versión para ser más específicos) solo requiere que el usuario haga clic en una casilla de verificación.
Puede parecer un funcionamiento simple; sin embargo, tras bastidores está sucediendo una serie de evaluaciones por medio del Captcha en las cuales se determinan aspectos como el tiempo de respuesta y el movimiento del cursor para determinar si se trata de un bot o de un usuario convencional.
Captcha invisible
La última versión (V3) que podemos encontrar de reCAPTCHA se encarga de analizar de forma automática la interacción que tiene el usuario directamente con el sitio web, evaluando aspectos ya mencionados en la versión anterior (movimientos del ratón, teclado, etc.) con la ventaja de no requerir de un desafío visible.
De esta manera no se ve interrumpida la experiencia del usuario; sin embargo, pese a ser una versión relativamente nueva, aún sigue mejorándose para poder llevarle el paso a los progresos en materia de algoritmos de inteligencia artificial (IA).
Captcha de audio
Dejando a un lado las validaciones visuales, en este caso se proporciona un desafío auditivo para aquellos usuarios que no pueden completar los Captchas por medio de imágenes u operaciones matemáticas.
Este tipo de Captcha está pensado para todas aquellas personas con discapacidades visuales; sin embargo, puede generar cierta confusión, ya que algunos audios que se encargan de “dictar” los caracteres a introducir pueden contener distorsión y ruidos para elevar la seguridad del mecanismo.
Captcha de movimiento
Uno de los tipos de Captcha actuales más populares además de “diferentes” en la forma en la que se aborda el desafío a cumplir con los Captcha con movimiento, en los cuales se trata de una acción interactiva, como arrastrar un elemento a una ubicación específica (por ejemplo, arrastrar un rompecabezas) para cumplir con la validación.
¿Cómo añadir un captcha?
Dependiendo de la tecnología en la cual se encuentre creada nuestra página web el procedimiento puede ser más o menos sencillo de ejecutar; sin embargo, tomaremos como ejemplo un formulario simple en HTML, ya que la premisa suele ser similar para otros entornos, plataformas y CMS.
Lo primero que debemos hacer es generar las claves que corresponden Captcha, en este caso lo haremos directamente desde reCaptcha.
(Visita el sitio web haciendo clic en la imagen ↑)
Debemos iniciar sesión con nuestra cuenta de Gmail, donde seremos redireccionados a un panel de control donde podremos tener un listado de todos los sitios a los cuales les hemos generado claves de captcha.
Si es nuestra primera vez ingresando en reCpatcha, seremos redireccionados directamente a la vista para registrar nuestro sitio web,
Entre las opciones que podemos apreciar encontraremos las siguientes:
- Etiqueta: se trata de una etiqueta que nos permita identificar el sitio web para diferenciarlo al momento de registrar múltiples sitios webs.
- Tipo de reCAPTCHA: es posible establecer claves tanto para la versión V2 basada en la casilla de verificación o el Captcha invisible en la versión V3.
- Dominios: las claves generadas según el tipo de versión que se escoja pueden funcionar en más de un dominio registrado, también aplica a subdominios.
Es necesario destacar que solo se pueden generar claves según el tipo de versión escogida del reCaptcha, si se establecen claves para la versión V2, no son válidas para implementar la versión V3 ni viceversa.
Ya con nuestras claves generadas podemos continuar con el proceso de instalación según sea la tecnología utilizada en nuestro sitio web, por ejemplo si el formulario al que deseamos incluir el Captcha se encuentra directamente en HTML, debemos añadir dos elementos al documento.
Por un lado se debe invocar el script de reCaptcha en la etiqueta “<head>” de nuestro sitio web.
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
Por otro lado, debemos añadir el widget de reCaptcha dentro de la estructura del formulario que deseamos que valide.
<form action="procesar_formulario.php" method="POST"> <div class="g-recaptcha" data-sitekey="TU_CLAVE_DEL_SITIO"></div> <input type="submit" value="Enviar"> </form>
Debemos fijarnos en el atributo que contiene el widget de reCaptcha, donde el “data-sitekey” contiene la clave pública que hemos generado en el proceso ya explicado.
Alternativas a reCaptcha
Si bien podemos interpretar que todos los Captchas que podemos crear dependen del reCaptcha de Google, este no es el caso, ya que hay otras opciones interesantes e igual de efectivas que valen la pena destacar.
hCaptcha
(Visita el sitio web haciendo clic en la imagen ↑)
hCaptcha presenta una solución de Captcha diseñada para proteger sitios web y aplicaciones contra bots y accesos automatizados malintencionados, similar a Google reCAPTCHA. Sin embargo, hCaptcha se centra en ofrecer mayor privacidad y opciones de personalización para los propietarios de sitios web, además de permitirles generar ingresos al resolver desafíos.
hCaptcha se presenta como una alternativa atractiva que además de ser privada ofrece una forma de generar ingresos extra por medio de la resolución de los desafíos.
Cloudflare Turnstile
(Visita el sitio web haciendo clic en la imagen ↑)
Cloudflare Turnstile presenta un mecanismo de verificación de usuarios diseñado para sustituir a los Captchas tradicionales. Ofrecida por Cloudflare, esta herramienta permite validar si los usuarios que interactúan con un sitio web son humanos, pero sin utilizar desafíos visibles como los tradicionales textos distorsionados o selección de imágenes.
Turnstile se centra en ofrecer una experiencia de usuario más fluida y amigable, eliminando las interrupciones que suelen generar los Captchas, mientras mantiene una sólida protección contra los bots.
¿Podemos evitar el uso de Captchas?
Si bien el propósito de los Captchas es añadir una capa adicional de seguridad a los elementos interactivos de nuestro sitio web, su implementación no siempre es indispensable para garantizar el correcto funcionamiento del mismo.
No obstante, existen buenas prácticas que pueden ser alternativas menos invasivas, las cuales también contribuyen a reforzar la seguridad del sitio contra usuarios malintencionados y bots automatizados.
Honeypots: también conocidos como campos ocultos, son campos que podemos añadir en los formularios y no se encontraran visibles a los usuarios convencionales. Estos campos pueden mantenerse ocultos por medio de estilos CSS y si se da el caso que un bot al escanear el código fuente rellena el formulario podemos establecer que se descarte la solicitud.
Validaciones con caducidad: podemos establecer un tiempo mínimo en el que tarda un usuario en completar determinado formulario, por lo general los bots al ser automatizados ejecutan las acciones de forma instantánea y es una forma de identificarlos.
Autenticación previa: el hacer requerida la autentificación de un usuario antes de realizar ciertas acciones como llenar un formulario reduce significativamente los ataques que se puedan generar de forma automatizada; sin embargo, esto representa un paso extra lo que puede generar fricción al proceso, especialmente para usuarios nuevos.
Filtrado basado en IP: si contamos con sospechas previas de regiones o direcciones de IP concretas que ejecuten un alto volumen de solicitudes en un período corto de tiempo, las podemos considerar como sospechosas y podemos bloquearlas.
JavaScript y cookies: desde el navegador, podemos aprovechar las cookies que se generan y almacenan cada vez que un usuario visita el sitio web. Los bots, al no ser capaces de ejecutar scripts ni generar cookies válidas, quedan en desventaja frente a este mecanismo.
Servicios anti-bots: en línea existen empresas que ofrecen soluciones especializadas para proteger sitios web contra bots. Estos servicios analizan el tráfico de nuestro sitio y toman medidas como bloquear usuarios sospechosos. Sin embargo, es importante tener en cuenta que, generalmente, estos servicios son de pago y conllevan un costo adicional.
Conclusión
A lo largo de nuestro recorrido, hemos explorado qué es un Captcha, su propósito y los diferentes tipos que existen, los cuales podemos utilizar según las necesidades específicas de nuestro sitio web.
Estos mecanismos funcionan como una barrera que protege los formularios y otros elementos interactivos contra bots y actividades automatizadas maliciosas, garantizando así una experiencia más segura para todos nuestros usuarios.
Además, al prevenir accesos no autorizados, los Captchas constituyen una capa adicional de seguridad que impide el ingreso de spam y, sobre todo, ataques automatizados que podrían comprometer la integridad de nuestro sitio web.
Conocer los distintos tipos de Captcha disponibles nos permite elegir el más adecuado para nuestras necesidades, desde opciones visuales hasta soluciones más avanzadas y menos invasivas, como reCAPTCHA o Cloudflare Turnstile.
Este mecanismo está a nuestra disposición, y lo ideal es aprovecharlo al máximo para reforzar tanto la seguridad como la experiencia del usuario, ofreciendo una navegación más segura a los visitantes de nuestro sitio web.
Tambien te puede interesar:
- NoCAPTCHA reCAPTCHA en comentarios de WordPress
- Cómo añadir a Contact Form 7 el reCAPTCHA
- Mejores plugins de Captcha en WordPress
- Cómo crear un formulario de contacto en WordPress
- Mejores plugins de formularios de contacto para WordPress
- ¿Cómo configurar la CDN de Cloudflare en WordPress?
¿Te ha resultado útil este artículo?
Equipo de soporte WordPress y Woocommerce en Webempresa.