Animal Captcha
Español | Inglés
Animal Captcha
Demo Online
[Español e Inglés]
Introducción:
Animal Captcha es un pequeño programa en lenguaje PHP, orientado para su uso en páginas web, que permite adjuntar a un formulario una imagen aleatoria de un animal que cualquier humano conoce, y sin embargo un robot es incapaz de identificar.
Ventajas:
- Seguridad: esta es la razón principal, en Internet hay desarrollos que consiguen resolver algunos captchas de códigos alfanuméricos, con creciente éxito. Sin embargo, ojalá pudiese una máquina identificar a un animal! Es imposible teóricamente.
- Belleza: es más agradable ver una foto de un animal que un código alfanumérico.
- Rapidez: los usuarios ahorran tiempo, ya que se tarda mucho menos en identificar y escribir un animal que introducir un código aleatorio.
- Efectividad: los usuarios aciertan con más probabilidad en comparación con los últimos captchas seguros.
- Multi-lenguaje: permite responder en varios idiomas, incluso varios nombres para un mismo animal (ejemplo: halcón y águila son equivalentes).
Descargar:
- Animal Captcha 1.4 [96kb] (20 Noviembre 2009) En Español e Inglés.
Publicado bajo licencia Creative Commons, siendo esta página la fuente original. Cedo al interés común todos los derechos de utilización y modificación, como mejor se considere. El único derecho que quiero preservar es el de autoría y citación.
Versiones y cambios: (changelog):
- 2.0 - Futura versión...
Ampliaré las imágenes tambien a objetos. Aumentando el repertorio al menos a 60 entre animales y objetos. - 1.4 - 2009/11 - Invulnerable
Caduca la sesion en cada intento obligando a pedir el captcha. Configuracion opcional del numero de animales por prueba, esto aumenta exponencialmente el numero de respuestas posibles migitando drásticamente la eficacia del ataque por fuerza bruta. - 1.3 - 2009/10 - Débil a fuerza bruta por erlang
Permite añadir varias imágenes para un mismo animal añadiendo _2.jpg en la imagen. La imagen de fondo se orienta incorrectamente para mitigar la confusión con la imagen principal que es la corecta. Desactivado por defecto los polígonos y giros aleatorios ya que no hace falta tanta seguridad. Mejorada la calidad de la imagen. Refresca otro animal al hacer clic en la imagen. - 1.2 - 2008/12 - Débil a fuerza bruta por erlang
Avance importante en la aleatorización de imágenes mediante una tecnica de fusión de dos imagenes transparentes aleatorias. Corrección de pequeños bugs. Optimización mejorada, genera imágenes más rápido. - 1.1 - 2008/06 - Vulnerado por movzx
Avance en la aleatorización para dificultar la obtención de patrones que identifiquen la foto original del animal. Invulnerable al test de bits y test de histograma. - 1.0 - 2008/04 - Vulnerado por NachE
Versión inicial. Vulnerable a los test de bits y test de histogramas.
(Invulnerable quiere decir que es seguro y hasta el momento nadie ha logrado crackeado, ánimo hackers!)
Implementación:
Animal Captcha está compuesto de 2 archivos PHP y 1 carpeta con imágenes de animales.
- animal-captcha.php - Devuelve una imagen aleatoria de un animal, y guarda en una sesión PHP el nombre del animal para comprobarlo posteriormente.
- animal-captcha-check.php - Define esta función PHP animal_captcha_check() que devuelve true si se ha acertado y false si es errónea, respecto a la sesión previamente creada al imprimir la imagen captcha.
- Imágenes: las fotos deben estar en formato .jpg, medir 120px y representar un animal común, fácil de identificar (de nivel de preescolar). El nombre está formado por una serie de palabras sin espacios, una palabra por intento, separadas por guiones '-'. Todas las estas palabras son las respuestas correctas. Ejemplo, cerdo-gorrino-pig.jpg Admite las respuestas: cerdo, gorrino o pig. Cada imagen ocupa 4kb tan solo. Está optimizado su consumo al mínimo, listo para usarse en sitios web con alto tráfico.
De esta forma se puede internacionalizar fácilmente o se pueden solventar animales que pueden ser nombrados de varias formas.
Cada imagen es difuminada aleatoriamente, de forma que cada imagen presentada es única.
Problemas conocidos:
- Si el lector no conoce alguno de los idiomas del captcha, no podrá resolverlo.