Acceder · Crear usuario
Anunciarse
Canal Personal   GONZO · Mia

Categoría Conocimientos

Animal Captcha 1.4: captcha gráfico con animales, script PHP

Español | English

He aquí la versión pública del captcha gráfico que desarrollé para el formulario de registro de Blogs Teoriza.

Cuando me enfrenté al gran desarrollo del sistema de usuarios quise destacar de los demás formularios. Ante todo quería que fuese usable, sencillo y al grano. En definitiva minimalista, fiel a mi tendencia evidente.

Por supuesto el formulario de registro debe tener un control captcha, es decir, un obstáculo que solo es capaz de sortear un humano. Solo así puede estar protegido un formulario en Internet. Y aquí entra en juego este programa que hoy tengo el placer hacer público, muy fácil de implementar.

 

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.

 

76 GONZO
30-04-2008

Nano SSD, la miniaturización de los discos sólidos

La internacional ELECOM ha lanzado un nuevo dispositivo de almacenamiento.

Todo indica que será el prematuro sustituto de los discos sólidos que dieron el remate tecnologico al los antiguos discos duros.

Los Nano SSD tienen caracteristicas muy similares a los discos solidos de tamaño normal, pero su tamaño es ridiculo.

Son tan pequeños que se conectan tal cual en un conector SATA2. Que solo almacenen 16 GB es lo menos importante, ya que cada mes aumentará la demanda y la capacidad.

nano ssdnano ssd elecom

Quien lo habria dicho en la epoca en la que los discos duros pesaban 6 kilos.

[Nota: en la primera imagen se nota que han tirado un poco de Photoshop para ajustar el prototipo en el conector SATA2. Como prueba de concepto lo dejamos pasar.]

0 GONZO
05-11-2009

Truco para construir Castillos de Arena más sólidos

figura de arenaDesde pequeño me ha encantado hacer construcciones, es algo que despierta mis sentidos y en la playa no era menos. Siempre me he liado a hacer murallas, presas, montículos... en definitiva Castillos de Arena.

Un feliz dia se me ocurrió este truco para construir castillos realmente solidos. Permite hacer torres más altas y moldeables sin derrumbarse, mucho mejor que con el típico cubo y pala.

Requisitos:

  • Arena
  • Botella 2L de agua

A continuación explico paso a paso el sencillo truco con fotos explicativas que saqué hace un rato.

  1. Empezamos con todo lo necesario. castillos de arena botella de agua y arena
  2. Amontonar arena en forma de pirámide, de tanta altura que se desee. castillo de arena monticulo
  3. Apelmazarlo con unas palmaditas al rededor.
  4. Hacer un hoyito en la punta, con el dedo vale.
  5. Echar agua poco a poco, sin derramarlo. Se trata de que lo absorva hacia abajo. castillo de arena echando el agua
  6. Una vez vaciada la botella se debe tapar con arena seca el agujero de nuestro volcan y apelmazarlo. castillo de arena volcan
  7. Empezar a retirar la arena de la parte de abajo de nuestra pirámide. quitando arena
    Quitando más arena...
  8. Empezando a moldear la figurita. Jejejej intenté hacer la tipica torre de Castillo Medieval pero como se puede ver me ha salido un Bart Simpson.
  9. Y finalmente aquí está nuestra figura de arena. Es tan sólida que se puede coger con las manos sin deshacerse. figura de arena

Espero que os haya gustado el truco, a ver esas construcciones. No olvideis comentar!

 

13 GONZO
17-08-2006

mIRC scripting, mi comienzo en programación.

A principios del 2001, ya con suficientes nociones de internet y IRC, con apenas 15 años, descubro la programación que trae el famoso programa cliente mIRC. Para mi, el lenguaje de programación tenia las cualidades ideales para comenzar. Los programas no necesitaban compilarse para que funcionasen: simplemente con un botón abres el editor de texto, modificas el código y listo.

Otra ventaja es lo fácil y estructurado del lenguaje, la verdad es que me encanta, aunque como lenguaje se queda corto en potencia. Pero para hacer programillas sencillos y funcionales en redes de chat es el mejor.

Me pareció tan interesante y entretenido que comencé a buscar tutoriales e información, después de haber intentado intuir como funcionaba, pero no logré hacer nada: era programación y debía conocer el lenguaje. Recuerdo que los manuales con los que aprendí son los de la queridísima web ChevalierIRC.com.

En su sección scripting tiene unos 7 manuales, cada manual es un tema empezando desde los comandos básicos y acabando por control de sockets y ventanas. Leyendo y haciendo programillas para comprobar lo aprendido en un par de meses ya controlaba bastante. Hice programas para facilitarme las tareas en el IRC, protecciones y ese tipo de cosas.

Después cada idea y cada comienzo era lo más parecido a empezar un proyecto, con unos objetivos finales, una serie de versiones, pruebas y manuales pulidos hasta lograr la idea inicial. Poco despues comencé el proyecto InfoneR que publicaré más adelante.

11 GONZO
03-06-2004

Paradojas de las entrañas de Internet

Internet da lugar a ciertas paradojas...

  • Que la mejor forma de dar visibilidad a los anuncios relacionados sea integrándolo (falacia, en verdad es camuflar) en el diseño del site. (pero no confundir esta técnica con engaños para provocar clics equivocados).
  • Las webs encontradas en los buscadores cuyo contenido es malo o no coincide con lo buscado, tienen más probabilidad de tener clics en los anuncios (y además les haces un favor mostrandoles anuncios sobre lo que busca realmente). WTF1!
  • Que AdSense te pague por anunciar en tu web un site trampa que recibe dinero de los Referidos de Google para que el visitante se instale un programa que regala Google. WTF2!! Esquema para digerirlo: Listillo invierte en Google Adwords > Google te paga por anunciar al Listillo > el visitante instala el programa Referido que en realidad es gratis y de Google > Google paga al Listillo más de lo que invirtió. (Esto me lo comentó un colega flipando bastante)

 

0 GONZO
20-10-2006

Visualizar códigos en mIRC sin riesgo

Un truquillo util para cuando te enseñan un código sospechoso de ser maligno por ejemplo oculto con $encode() o $chr() una forma segura de visualizarlo en un /echo y ver realmente que hace sin temor a que se pueda ejecutar. Cargar este alias y luego para usarlo /analiza.

alias analiza {
var %c $$?="Codigo a analizar"
$iif($chr(124) !isin %c,.timerA 1 0 echo 2 %c, echo 4 Contiene $chr(124) Separa los comandos.)
}
3 GONZO
04-07-2005

Animal Captcha 1.3, a graphical spam control

Spanish | English

Description:

elefanteAnimal Captcha is a PHP program created for web developers who need a secure spam control for HTML forms. It displays a random image picked from a list of animals which only humans can recognize.

Advantages:

  • Nice look: better than an ugly alphanumeric string.
  • Fast: users can identify an animal faster than several mixed letters.
  • Effective: less wrong answers.
  • Secure: the main reason. Some alphanumeric captchas you can find on the Internet are really difficult to be recognized by a bot, but with an animal it's almost impossible!
  • Multi-language: available in some languages, multiple valid names for each animal.

Documentation:

 

Animal Captcha is divided into two PHP files and one folder containing some images.

  • animal-captcha.php - Returns a random image and saves the name of the animal in a session variable for being checked later.
  • animal-captcha-check.php - It defines animal_captcha_check() function. It returns true if user answer is OK, and false if it's wrong.
  • Folder images - They must be JPG format, a 120x120 px size, showing a very common animal which everybody knows. Names are composed with some words separated by dashes. Each word represents a valid answer for the same animal (eg: cerdo-pig-porc.jpg).

By this way you can easily adding new languages or solving problems about animals which have some different names.

 

Histograma test passed.

Download:

Published under Creative Commons 3.0 license. You can use or modify all you want, but you must attribute the work to the original author: GONZO (Javier González), of Blogs Teoriza.

 

Sorry about my bad English, i hope it will be useful!

0 GONZO
04-05-2008

Lista de dominios de sistemas temporales de correos falsos, blacklist de emails para filtrar

Una de las cosas que he experimentado programando el proyecto VirtualPol es que hay que bloquear los emails temporales de los registros.

Me explico. Hay un centenar de webs que ofrecen un servicio de "email temporal", el cual con un solo paso cuasi-instantaneo te permite leer los emails recibidos en un correo aleatorio, cuya duración es temporal (normalmente 15 minutos, expandibles).

Este invento es muy comodo para el usuario que quiere crear un usuario poco importante en una web y así acceder al tipico contenido solo para usuarios, por poner un ejemplo. Mediante este email temporal evitas usar el email bueno, esquivando algun posible spam. Esa es la finalidad.

Sin embargo, mi consejo a cualquier programador es que se bloquéen estos servicios en caso de ser valioso la seguridad del sistema de usuarios. Los emails temporales es el recurso más valioso del tipico cloneador de usuarios (dicese de persona que registra un gran numero de usuarios con el fin de falsear votos o lograr un privilegio inmerecido).

La unica forma de bloquear estos servicios es baneando los dominios de los emails, los cuales suelen ser multiples y variados.

He aqui mi black-list de dominios de correo temporales:

binkmail.com
chogmail.com
devnullmail.com
frapmail.com
guerrillamailblock.com
mailcatch.com
mailinator.com
meltmail.com
obobbo.com
putthisinyourspamdatabase.com
sendspamhere.com
shinedyoureyes.com
spamavert.com
spamcorptastic.com
spamgourmet.com
spamherelots.com
spamhereplease.com
tempinbox.com
temporaryinbox.com
thisisnotmyrealemail.com
trash-mail.com
trashmail.net
filzmail.com
brefmail.com
tempemail.net
mytrashmail.com
tempemail.co.za
emaxpro.com
zzn.com
tyldd.com

Ultima actualizacion: Julio 2009

 

La razon por la que lo publico es por su utilidad práctica y especialmente porque no he encontrado ninguna lista similar... lo cual me ha sorprendido.

Si algun email no es correcto o conoces alguno más, comentalo aqui y lo añadiré, gracias.

3 GONZO
02-06-2009

Encuesta para demostrar a la Ministra González-Sinde que no queremos "todo gratis"

Hace unos días la Ministra de Cultura de España hizo una declaración en referencia a las descargas de música o cine que hacemos por Internet:

Ángeles González-Sinde: "lo queremos todo rápido y gratis" (fuente)
A esto yo le respondería que claro que lo queremos rápido, faltaría más y no gratis, si no CASI gratis.

Esta es mi opinión. A mi me gustaría pagar por todo lo que descargo, pero a un precio ajustado y razonable. Sin DRM o inconvenientes.

Las tornas han cambiado. Antes las discográficas o productoras fijaban el precio y el consumidor tenia que aceptarlo o no. Ahora es justo al revés. Nosotros fijamos el precio máximo que vamos a pagar y si no encaja, lo descargaremos gratis. Porque sabemos que el coste de distribución es irrisorio.

Sugiero humildemente a toda la industria audiovisual que adapte su modelo de negocio. Es inevitable, si no lo hacen se continuará compartiendo libremente porque merecerá la pena. Ofrezcan un servicio tan bueno que compita con las descargas gratuitas.

Para convencer a la señora Ministra de que no queremos "todo gratis" como dice, si no el acceso a un servicio moderno y económico, he diseñado una pequeña encuesta (solo 9 preguntas) en las que se valora cuanto se pagaría por música, cine y series de television. En todo momento la respuesta podrá ser "Nada, gratis", aunque intuyo que serán en minoría.

  • REALIZAR ENCUESTA (1 minuto, solo 9 preguntas, publicaré los resultados en 5 días)
Muchas gracias por participar!

3 GONZO
28-06-2009

Como hacer fotos panorámicas fusionando varias fotografías digitales (con Autoplano Pro)

Hace unos cuantos meses, mi afición a la fotografía me llevó a investigar cómo hacer fotografías panorámicas. Con mi cámara digital que no es mucho (no es reflex), un poco de ingenio y la ayuda del Autoplano Pro, conseguí este resultado:

dragon kanh

El concepto es sencillo. Consiste en cubrir un ancho panorama con distintas fotografías similares para fusionarlas formando una enorme y uniforme imagen. El efecto conseguido con el Autoplano Pro es prácticamente la perfección (puede que hayan más programas y mejores, yo conozco este).

El programa se encarga, primero, de buscar patrones en una cantidad indefinida de imágenes dadas. Luego las agrupa mostrando el puzzle que es capaz de hacer con ellas. Eliges algunas opciones, fijas la resolución (que suele ser inmensa) y un botón pone en marcha el proceso (que suele tardar varios minutos) y devuelve una enorme imagen panorámica totalmente uniforme. Como se puede apreciar ampliando la foto del Dragon Khan de arriba.

Pasé un par de tardes muy entretenidas experimentando. Llegué a generar un panorama basado en 12 imágenes (una cuadrícula de 6x2 y 120º de amplitud) lo cual fue una barbaridad, tardó en procesar unos 15 minutos con un procesador dualcore, generó una imagen de 50mb pero fue divertido!

Panoramas que he hecho: (álbum Panorámicas, click para ampliar)

Panorámica desde el hotel (180º)

Buffet dorado (25º)

Panorámica puerto Vinaroz (320º)

Otra panorámica (30º)

Complejo (panoramica 70º)

(haz click en cada fotografía para ampliar y más info)

0 GONZO
21-07-2008
◄ Página anterior
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 · 8ms · 2003-2009 ©