Acceder · Crear usuario
Anunciarse
Canal Personal   GONZO · Mia

Animal Captcha

Español | Inglés

Animal Captcha

animal captcha 14
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:

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.
6 GONZO 06-10-2009
+1 Proyectos Recomendaciones 
  1. +1 LUISEDUARDO 2009-10-12 02:27:01

    ME GUSTA

  2. +1 Provotector 2009-11-04 17:46:07

    Tu captcha sigue teniendo limitaciones. La más básica es el número de animales diferentes que puede llegar a conocer una persona normal y corriente, lo que limita muchísimo los resultados a introducir.

    Si haces que cada tres intentos fallidos aparezca una nueva imagen, es solo cuestión de tiempo que un programa que haga la función de introducir los cien nombres de animales que suele conocer una persona normal acertara por casualidad en uno de los tres intentos.

    Sigo sin ver qué tiene de mejor tu captcha comparado con cualquiera de los "normales". Espero que ya hayas visto que de infalible nada, además sería mucho más fácil de rebentar que un captcha alfanumérico.

  3. +0 Jorge 2009-11-05 20:54:35

    Que tal Gonzo.

    Muy buena idea lo de las imágenes para usarlo en el captcha en lugar de las clásicas cadenas.
    Pero no lo veo muy usable del todo por el hecho de que no todos sabemos como se escriben correctamente el nombre de la mayoría de los animales. Por ejemplo, en el demo que tienes, intente poner al hipopótamo sin la letra "h" y no pasa, también el caso de víbora cambiado la "v" por "b" y vesceversa dice que soy robot. Y este el punto mas fuerte en contra que le veo a tu sistema, porque la mayoría de los internautas tenemos una ortografía muy mala (sin contar que en diferentes países se le puede conocer de otro nombre a un animal) y eso puede ocasionar que cuando alguien escriba mal el nombre de un animal y no lo deje pasar no va a saber donde está el error y va a pensar que el problema es del sistema.

    Ahora, si yo hago un bot para poder romper el captcha, lo único que tengo que hacer es tener una lista donde vengan todos los nombres de los animales que existen sacados de una enciclopedia - en este caso todos van a estar correctamente escritos - para saltarme la protección. Y es que por esta misma razón es más fácil que un bot que puede ejecutas cientos de opereciones por segundo y sin problema a que escriba mal un nombre pueda pasar el captcha a un humano medio con mala ortografía.

    Eso si, tu sistema funcionaría perfectamente para que no posteen los típicos "hoygans" en los foros.

    Saludos.

  4. +1 barbituri 2009-11-06 18:21:31

    Hey Gonzo, después de los comentarios en meneame.net, el sistema ha quedado "vulnerado"... vas a reorientar este proyecto? Vas a matarlo? Tengo curiosidad.

  5. +1 GONZO 2009-11-06 21:41:46

    Hola Barbituri

    Hoy mismo he empezado a desarrollar una batería de mejoras para resolver el fallo reportado desde menéame.

    Tardaré más de lo que creía, pero probablemente en una semana estará listo.

    Básicamente voy a añadir la opción de poner 2 o más animales en cada prueba. De forma opcional y configurable.

    Lo que si, acabo de cambiar el estado actual de "invulnerable" a "débil a fuerza bruta".

    No considero que sea vulnerable al 100% porque hay que hacer 30 peticiones para lograr 1 éxito ahora mismo. No es descabellado que alguien lo explote, pero tampoco va a dar problemas normalmente.

  6. +1 GONZO 2009-11-06 21:53:34

    Hola Jorge,

    Sobre la eficacia "anti-hoygans" es ninguna. Consiguen superarlo de igual forma. Piensa que es muy facil pulsar en la imagen y obtener otro animal.

    Sobre las faltas otrográficas, se ha intentado mitigar esos fallos ignorando acentos y permitiendo varios nombres por cada animal. Por ejemplo en la "vaca" sirve decir "toro" también. Sin embargo me parece demasiado "bruto" añadir erratas tipo "baca". Aun así es extremadamente fácil añadirlo, solo hay que cambiar los nombres de los archivos jpg.

    Sobre la vulnerabilidad a fuerza bruta ya estoy trabajando en ello, supongo que lo habrás visto en menéame, es cierto. Intentaré resolverlo con una serie de medidas proximamente.

Artículo escrito por GONZO para Blogs Teoriza.
Animal Captcha ingles animales descripcion nombres imagenes.
Blogs Teoriza
Ocio Tecnología Cuidarse Informática Contactos Cultura Vacaciones Interesante Místico Personal
Ocio Alarmas Intimidades Hosting Chat Poesías Hoteles CompraVenta Tarot GONZO
Juegos Tecnología Salud Adsl Messenger Mundo Viajes Videos Videncia Mia
CineTV Inventos Internet Música EnCrucero Polémicas
Deportes Virtual Seguridad ComoHacer Turismo Legalidad
Motor Ubuntu Actualidad
Hardware
Enlaces: Teorizo, MovilZona, Gordo navidad 2009, Loteria del Niño, Gordo 2009

Blogs Teoriza™ · Aviso Legal · · Red de Blogs en Español · 4ms · 2003-2009 ©