Web 2.0 Tips

Icon

Consejos y trucos para el desarrollo y diseño de webs

Chuck Not Captcha; Pegandole una patada voladora a los spambots

Por si no saben, los captchas son sistemas de protección contra procesos automatizados, como los conocidos spam bots, una forma de validar que el que está realizando una acción es un humano y no un programa o bot, esto se logra pidiendo una acción que solo puede realizar un humano, como escribir ciertas letras que estan deformadas para que los sistemas de OTR no puedan leerlas, fondos aleatorios y efectos de  humo o rayas que confundan la identificación por software.

El problema de esto es que los sitemas de identificación para romper estos sistemas son cada vez mejores, asi que los captchas tienen que ser mejores, pero sin imposibilitar la lectura humana, realmente estos se vuelven cada vez mas molestos, asi que estan apareciendo formas alternativas, dificiles para los bots, pero mas “humanizadas”.

El que les vengo a mostrar hoy realmente nace de una idea llamada Animal Captcha, que en vez hacernos leer complicadas letras nos propone ver fotos de animales y escribir sus nombres, asi es mas facil entender que se trata de un “leon” o de una “cebra”, estando estos ofuscados. Pero hoy no vengo a hablar de este, sino de otro que se basa en este  (por lo menos hasta su versión 0.0.2, ya que promete ser reescrito para poder ser liberado bajo  la licencia GPL 3).

El Chuck Not Captcha en cambio nos propone otra cosa, hacerle click a la imagen del seguramente conocido por todos Chuck Norris, actor de películas de acción que se convirtió en un Meme de internet del cual se dicen cosas como “No hay teoría de la evolución, solo una lista de criaturas a las que Chuck Norris permite vivir.”,  y bueno, para el que no lo conozca, seguro no sabe de esto de la internet, ni vio sus peliculas o series. De hecho el sitio oficial dice:

Are you tired of spambots or people who doesn’t know Chuck Norris? This may be your solution

Lo que en español seria: “¿Está cansado de Spambots  o de gente que no sabe quién es Chuck Norris? Esta puede ser su solución.”

Esta hecho para ser el último paso del formulario, donde en vez de hacerle click a un boton de “enviar” o etc, se le hace click a la cara de Chuck, de esta forma:

Como podemos ver, aparecen distintas caras, y entre ellas la del conocido actor, si se le hace click a otra cara que no es la de chuck, podemos deducir que del otro lado hay un spambot (o alguien que no merece registrarse en nuestro sitio o mandar un comentario).

La implementeción es cencilla, bajandonos el código fuente de la web (esi si, en PHP):

 # wget http://cnc.esfriki.com/cnc-0.0.2.tar.gz
 # tar -xvf cnc-0.0.2.tar.gz

Esto nos dejará un directorio llamado ·”captcha” el cual puede ser puesto en el arbol de directorio de nuestro sitio, para usarlo simplemente reemplazamos nuestro boton de submit, por un input img del captcha generado:

<form action="/login" method="post">
    <label for="user">Usuario:</label>
    <input type="input" name="user" />
    <br />
    <label for="pass">Password:</label>
    <input type="password" name="pass" />
    <br />
    <p>* Haga click en la cara de Chuck Norris para saber que es humano</p>
    <input type="image" src="/captcha" name="submit" />
</form>

De esta forma al hacer click en la imagen automaticamente enviará el formulario, desde el otro lado, lo único que tenemos que hacer es:

require('captcha/check-chuck.php');

if ( check_chuck($_POST['submit_x'],$_POST['submit_y']) ) {
     // Esta todo bien
} else {
     // Falló la validación
}

Y listo, ya tenemos funcionando nuestro captcha. De igual manera dentro del tar.gz que nos bajamos hay un archivo llamado example.php que contiene un ejemplo.

Ahora una Yappa, se pueden alterar las caras (agregar o sacar), hasta cambiar a nuestro personaje por otro, modificando los archivos que estan en los directorios: chuck y notchuck.

Sitio oficial: http://cnc.esfriki.com/


Tips relacionados:

  1. Cuidado con $_SERVER['HTTP_REFERER']
  2. Mostrar contenido correctamente en PHP
  3. Evitando ataques CSRF (Cross Site Request Forgery)
  4. Usando el método stop() en jQuery
  5. Como inhabilitar el borde de los forms de Webkit onFocus. (CSS)

Tip de PHP, Programación, Seguridad

Tags: , , , , ,

3 Responses

  1. [...] Chuck Not Captcha; Pegandole una patada voladora a los spambots web2.0-tips.com.ar/283-chuck-not-captcha.html  por exos hace 3 segundos [...]

  2. FeDeX says:

    No entiendo mucho lo que hace la funcion, pero… como seria para preguntar directamente si NO ES LA CARA?

  3. Exos
    Twitter: exos
    says:

    Justamente la función “check_chuck” chequea que el click fue realizado donde estaba la cara de Chuck, caso contrario devolvería false, asi que:

    if (check_chuck($_POST['submit_x'],$_POST['submit_y'])) {
    echo “Le hizo click”;
    } else {
    echo “No le hizo click”;
    }

Leave a Reply

Exos

Oscar J. Gentilezza Arenas (Exos) Programador y curioso en lo relacionado en la informatica, actualmente trabaja de programador web usando PHP y manteniendo servidores en GNU/Linux y FreeBSD

Web: http://blog.exodica.com.ar

Tips: 42

Recomendamos

Haste autor!

En web2.0-tips, cualquiera puede publicar un consejo, truco o articulo relacionado con el desarrollo y diseño web. Tu puedes registrarte y postear, aparte te quedas con el 80% de impresiones de adsense en tus publicaciones.

Lee mas aca!

Categoria

Haste fan

Web Analytics