Animal captcha es script gratuito y código libre para Implementar un Captcha donde se le pide al visitante que realice el reconocimiento de diversos animales.
Habría que comenzar por definir qué es un captcha. Pues no es más que un sistema informático para verificar que el usuario que está utilizando nuestra web es un humano y no una máquina o robot, que se suele hacer por medio del reconocimiento de una imagen. No obstante, lo más seguro es que los lectores conozcan perfectamente este concepto y si no es así, os recomendamos leer la FAQ Qué es un captcha.
Captcha por reconocimiento de fotografías de animales
Decíamos que este script nos ha parecido interesante por estar basado en el reconocimiento de fotos de animales, en lugar de la típica imagen de una palabra que se tiene que escribir. En el captcha se presenta una imagen con dos fotos de animales y los tenemos que escribir separados por un espacio. A simple vista resulta mucho más agradable y humano que los captchas tradicionales, y aunque el propio creador destaca varias ventajas, como todo en la vida, también presenta algunos inconvenientes.Quizás sea interesante, llegado a este punto y antes de pasar a analizar el script, que visitemos la página del captcha, donde se puede acceder al demo así como a varias notas de versión y posibilidades:
http://gonzo.teoriza.com/animal-captcha
Entre las ventajas que supone este sistema destaca su seguridad, ya que a lo largo de diversas versiones el creador ha trabajado mucho para optimizar el captcha, con la ayuda de algunas personas que se han dedicado a buscarle los puntos débiles. Según dice, en esta última versión se tiene el 100% de seguridad, si utilizamos nuestras propias imágenes de animales en vez de las preestablecidas. Otros puntos fuertes son su originalidad y que resulta vistoso y amigable, como ya habíamos comentado, el hecho de reconocer bichos en lugar de palabras.
Por su parte, existe la desventaja de tener que conocer cada animal (aunque los que utiliza el sistema de entrada son fáciles de reconocer incluso para los más pequeños) y que además los animales pueden tomar nombres distintos, no sólo dependiendo del idioma en el que hablemos, sino porque en países distintos, o incluso regiones diferentes dentro de un mismo país, un animal puede denominarse popularmente con nombres distintos. Todo ello, sin hablar de las posibles faltas de ortografía que Animal Captcha no reconocería como válidas.
Requisitos de Animal Captcha
La documentación de este captcha es más bien escueta. Lo cierto es que es tan sencillo que requiere pocas explicaciones, pero se le hecha en falta una especificación de requisitos. De momento, indicamos aquí un par de cosas que es necesario tener activas para que funcione el sistema de captcha:- Librería GD. Para poder manipular las fotos de los animales por medio de PHP.
- Error reporting que no haga un reporte de los errores tipo "notice".
error_reporting = E_ALL & ~E_NOTICE
Como en los servidores en producción suelen estar desactivados los notices, pues lo más seguro es que no haya problema alguno al ver el captcha en funcionamiento.
Además, el sistema en la actualidad usa alguna función PHP obsoleta (deprecated) que también habría que desactivar su advertencia para que no saliesen feos mensajes de error. Al menos esto es en la versión 1.5. Quizás en el futuro solventes estos problemas.
Uso del captcha
Como veremos a continuación, el uso de este captcha es realmente sencillo. Claro está que tendremos que descargarlo y colocar los archivos descomprimidos en nuestro servidor web. Estos archivos de descarga incluyen varios archivos PHP y un directorio con imágenes.Una vez descomprimido hay un archivo PHP que tiene un ejemplo para verlo en funcionamiento llamado "example.php". Luego hay dos archivos importantes que implementan el sistema:
animal-captcha.php: Es un archivo que devuelve una imagen con las fotos de los animales a reconocer. Este archivo se puede poner en la ruta de una imagen (etiqueta IMG) y se mostrará directamente en nuestra página. Además, de manera transparente para nosotros, se creará una variable de sesión para guardar el resultado del captcha, que se deberá comprobar más tarde.
animal-captcha-check.php: es un archivo que contiene una función que utilizaremos para comprobar si la captcha escrita por el usuario es correcta. La función en concreto se llama animal_captcha_check() y debemos pasarle como parámetro la cadena del captcha escrita por el usuario. Devuelve un boleano que indica si la validación fue o no correcta.
A continuación podemos ver el código más sencillo posible para poder probar este captcha por reconocimiento de animales.
<?php
session_start();
?>
<form action="<?php echo $_SERVER["PHP_SELF"];?>" method=post>
<img src="animal-captcha.php">
<br>
Escribe los nombres de los dos animales, separados por un espacio:
<br>
<input type=text name="textocaptcha">
<input type=submit value="Enviar">
</form>
<?php
if ($_POST){
//recibo algo de formulario, valido captcha
require('animal-captcha-check.php');
if (animal_captcha_check($_POST["textocaptcha"])) {
echo "CORRECTO: captcha reconocido!";
}else{
echo "INCORRECTO: no has adivinado el captcha!";
}
}
?>
Otros captchas que se pueden usar en PHP
Por último, os indicamos un par de referencias a un par de sistemas captcha más tradicionales que hemos comentado y utilizado en DesarrolloWeb.com:- Recaptcha: un sistema para captcha (recientemente adquirido por Google) que no requiere instalar nada en nuestro servidor y por lo tanto cuya implementación es extremadamente sencilla. El capcha está muy bien y resulta bastante seguro.
- Securimage: un captcha bastante sencillo de usar, para PHP, que permite múltiples opciones de configuración.
Miguel Angel Alvarez
Fundador de DesarrolloWeb.com y la plataforma de formación online EscuelaIT. Com...