Introducidos a principios de la década de 2000, los CAPTCHA han molestado a los usuarios durante décadas. Desde encontrar imágenes de un autobús hasta ingresar una extraña secuencia de letras o resolver problemas matemáticos, hay muchas formas en que los sitios te piden que demuestres que no eres un robot.
Pero, ¿alguna vez te has preguntado cómo funcionan los CAPTCHA y por qué los sitios web te obligan a resolverlos?
¿Qué es CAPTCHA?
CAPTCHA significa Prueba de Turing Pública Completamente Automatizada para diferenciar a las Computadoras de los Humanos. Como sugiere el nombre, distingue entre humanos y computadoras.
El concepto básico de CAPTCHA se basa en la falta de inteligencia informática para reconocer patrones. Una computadora puede reconocer letras, pero no en los casos en que están alteradas o presentes con mucho ruido de fondo. Mientras tanto, los humanos están programados durante generaciones para detectar e identificar patrones como un mecanismo de seguridad.
Tipos de CAPTCHA
CAPTCHA viene en varios tipos, algunos de ellos son:
1. Imagen basada en texto CAPTCHA
CAPTCHA basado en texto utiliza un conjunto de palabras o frases o una combinación aleatoria de diferentes letras, números y símbolos. Representa una secuencia de personajes en una forma alienada que es un poco difícil de interpretar.
Estos incluyen distorsión, rotación, volteo, tambaleo, estilo de uso de mayúsculas y superposición con caracteres contiguos. Para mejorar esta técnica, un CAPTCHA puede incluir gráficos como líneas, arcos o puntos de forma aleatoria, repartidos por toda la imagen.
2. CAPTCHA de audio
Audio CAPTCHA sirve como una alternativa a los CAPTCHA basados en texto y está dirigido a usuarios con discapacidades visuales. Audio CAPTCHA presenta una grabación de audio de una secuencia de letras o números que el usuario debe ingresar correctamente. De nuevo, hay distorsión, esta vez en forma de ruido de fondo añadido. Una cosa interesante a tener en cuenta es que el módulo Python CAPTCHA solo funciona con números.
3. Imagen CAPTCHA
Los CAPTCHA de imagen son una alternativa a los CAPTCHA de imagen basados en texto. Estos son los CAPTCHA típicos que abordará a diario.
Estos CAPTCHA le piden que identifique un objeto en particular, como un bote, un camión o una boca de incendios. Los presentan junto con otras imágenes para elegir. Estas son mucho más amigables para los humanos que las pruebas basadas en texto, así como más difíciles de reconocer para los bots.
4. Matemáticas, problema de palabras y rompecabezas CAPTCHA
Los CAPTCHA matemáticos a menudo representan un problema aritmético simple como 17 + 23, 16 * 10 o 30/10 con elementos gráficos agregados.
Word Problem CAPTCHA presenta una secuencia de palabras o elementos relacionados y le pide que llene los espacios en blanco con la respuesta adecuada.
Puzzle CAPTCHA implica resolver un mini rompecabezas, como deslizar una barra a la longitud correcta para que la pieza que falta complete la imagen.
5. Sin CAPTCHA ReCAPTCHA
Google posee ReCAPTCHA, que utiliza análisis de riesgo avanzado y desafíos adaptativos para prevenir bots. ReCAPTCHA recupera contenido de Google Street View, periódicos, libros y más.
Sin CAPTCHA ReCAPTCHA requiere que marque la opción "No soy un robot" sin pedirle que realice ninguna prueba. Esto es posible ya que rastrea los movimientos e identifica el clic. Una cosa a tener en cuenta es que ReCAPTCHA captura su información privada también.
Puedes crear un Formulario de validación de CAPTCHA usando HTML, CSS y JS así como utilizando el módulo Python CAPTCHA.
El módulo Python CAPTCHA
Python viene con un módulo fantástico llamado CAPTCHA que lo ayuda a crear CAPTCHA de imagen y audio basados en texto en momentos. Aunque el módulo proporciona un estilo de fuente y una voz incorporados, puede usar su voz y los datos de la fuente para personalizar aún más los CAPTCHA.
Para instalar el módulo CAPTCHA en su entorno Python, abra la ventana Terminal y escriba:
pepita instalar captcha
Cómo generar un CAPTCHA de imagen basado en texto usando Python
El código fuente completo para generar CAPTCHA de imagen y audio personalizados basados en texto está disponible en este repositorio GitHub.
Puede seguir estos pasos para crear un CAPTCHA de imagen basado en texto usando Python:
- Importar el ImageCaptcha módulo situado en imagen CAPTCHA.
# importando las bibliotecas requeridas
de imagen CAPTCHA importar ImageCaptcha - Especifique un ancho y alto personalizados para su CAPTCHA y cree una instancia del mismo.
# especificar dimensiones
imagen = ImageCaptcha (ancho = 300, alto = 100) - Tome una secuencia de caracteres como entrada de usuario usando el aporte() para convertirlo a un formato CAPTCHA basado en texto.
# ingrese el texto para crear su captcha
captcha_text = entrada ("Por favor ingrese texto: ") - Pase el texto que recibió del usuario al imagen.generar() para crear el CAPTCHA.
# generar el captcha basado en texto
datos = imagen.generar (captcha_text) - Pase el texto del CAPTCHA y el nombre del archivo de imagen junto con su extensión a imagen.escribir() para guardar el CAPTCHA de la imagen generada.
# guardar el archivo de imagen captcha
imagen.escribir (texto_captcha, (texto_captcha) + ".png")
Salida de CAPTCHA de imagen basada en texto usando Python
Una de las mejores características de este módulo es que genera el mismo texto en diferentes colores, estilos y sesgos. Estos son algunos de los ejemplos generados.
Este es otro diseño fascinante generado a través del mismo programa.
Cómo generar un CAPTCHA de audio usando Python
Siga estos pasos para crear un CAPTCHA de audio usando Python:
- Importar el Captcha de audio módulo de captcha.audio.
# importando las bibliotecas requeridas
de captcha.audio importar Captcha de audio - Crea una instancia de AudioCaptcha().
# creando una instancia de audio
audio = AudioCaptcha() - Tome dígitos como entrada de usuario usando el aporte() función para crear su audio CAPTCHA.
# número de captcha de audio, por ejemplo: 32135
captcha_text = entrada ("Por favor ingrese el número: ") - Pase el texto que recibió del usuario a audio.generar() para crear el CAPTCHA.
# generar el captcha basado en audio
audio_data = audio.generar (captcha_text) - Pase el texto del CAPTCHA y el nombre del archivo de audio junto con su extensión a audio.escribir() para guardar el CAPTCHA de audio generado.
# guardar el archivo de audio
audio.escribir (captcha_text, "audio"+texto_captcha+'.wav')
Si ingresa los números 970322, este programa CAPTCHA de audio generará un audio970322.wav archivo que dice los dígitos en secuencia con un montón de ruido de fondo.
Los muchos usos de CAPTCHA
La función principal de un CAPTCHA es evitar el spam y el abuso por parte de los bots en un sitio web. Ayudan a mantener la precisión de las encuestas en línea al evitar que los bots las inunden con respuestas negativas. Actúan como una capa de protección contra ataques de fuerza bruta y restringen la cantidad de veces que un usuario intenta iniciar sesión en un sitio web.
CAPTCHA también puede ayudar a prevenir comentarios automatizados y puede ayudar a proteger las pasarelas de pago con su dificultad para resolver.