Crear captcha con reCaptcha, función segura contra el spam

Crear captcha con reCaptcha, función segura contra el spam
0 Flares 0 Flares ×

 

Los captcha han resultado siendo omnipresentes dentro del Internet, siendo un arma simple y efectiva en la lucha contra el spam en la web.

La historia nos dice que los captcha  fueron creados por un equipo de profesores de Carnegie Mellon, y usadas por primera vez en el transcurso del año 2000 por Altavista y Yahoo. Esto lo realizaron cómo un intento para poder bloquear los robots automatizados de chat y los envíos de URLs. Sin embargo, se cree que se trata de un acrónimo de test de Turing público y automático, de este modo es más fácil diferenciar máquinas y humanos.

Sí aún no sabes realmente lo que significa esto, en pocas palabras podría decirte que se trata de un Test de Turing. Esto fue introducido por el profesor británico Alan Turing, que a su vez también se considera cómo una prueba estándar de una maquina basada en inteligencia artificial; además, si una maquina puede pasar esta prueba, se es considerado como un comportamiento inteligente. Ésta prueba consiste en convencer con un número de jueces a través de una interfaz de texto. De esta manera el juez puede decidir si pasa la prueba el ordenador o no.

Por lo tanto, ahora el captcha es considerado un sistema automatizado de prueba de Turing, tal cómo lo explicábamos anteriormente. Existen diversas maneras de realizar esto, pero la más común que se ha establecido es, el presentar al usuario una forma de texto codificado en el supuesto de que cualquier ser humano normal será capas de descifrar el texto que se le aparezca.

Captchas basadas en texto y crear un captcha con recaptcha

En este caso el recaptcha, ahora propiedad de Google, ha decidido que en lugar de descifrar  textos muy difíciles críticos sin mucho sentido, ofrecería una oportunidad excepcional para corregir las diferencias del reconocimiento óptico de caracteres que se basan en computadoras como: Optical Character Recognition (OCR). Con los libros antiguos especialmente, a las computadoras se les serán muy difíciles identificar las palabras, mientras que un ser humano encontrará la tarea en forma trivial. Además, esta tarea de digitalización de libros del pasado con la prevención de spam, podrá ser un ganador absoluto de la prueba asignada.

Sin duda, si el equipo resulta ineficiente y es reconocido cómo el primer lugar en fallas, seguramente el problema le será reconocer las palabras, Este sistema por lo general supone que si el usuario escribe correctamente las palabras conocidas, entonces lo más seguro es que las palabras irreconocibles sean correctas.

Lo que observas en el cuadro puede parecer una broma, pero esencialmente para el usuario puede significar un problema de matemáticas básicas. Para estos casos se puede utilizar un sistema similar en el sitio de respuestas ahora mismo, ya que no resulta tan difícil como parce, sólo algunas operaciones básicas.

Así también, el captcha se encuentra basado en una serie de imágenes tan difíciles como algunos de los códigos de recaptcha, que a veces puedes significar un desarrollo software que puede ser capaz de romper el código con un índice de éxito del 30%. Para una campaña de spam con millones de intentos se caracterizaría como una taza inaceptable. Por otra parte, las imágenes son extremadamente difíciles de procesar semánticamente para las computadoras. Ahora bien, piensa en la imagen simple de un gato para programar una computadora para así reconocer un rostro humano de forma fácil.

Basada en la lógica

Finalmente, esto se basa en la inteligencia lógica y semántica sobre el mundo y en el sentido común humano básico, algunos ejemplos de ellos pueden ser:

1. Identificar los alimentos de esta lista: asfalto, tocino, nubes, daga.

2. Identificar el arma en esta lista: asfalto, tocino, nubes, daga.

3. ¿Cuántas puertas se encuentran en un coche de cuatro puertas?

4. ¿Cúal es la tercera palabra en ésta frase?

5. ¿Qué queda si se quita B de ABC?

El futuro captcha

Al parecer los captchas, no son impenetrables a la piratería o spam. Por ello se conciben nuevos y más ingeniosos dispositivos que desarrollan formas cada vez más sofisticadas para romperlos, y la solución de pagar a alguien para realizarlo nunca podrá ser derrotada. Siempre estará responsabilizada como desarrolladores web y administradores de mantener los spammers lejos de los sitios web, sin degradar la experiencia del usuario.

Creando un captcha con recapatcha

Como se mencionó, el aconsejable utilizar reCaptcha porque al hacerlo se evita la interferencia de los bots (en español: robots), se deber recodar que son gratuitos y muy simples al momento de implementar.

Cuenta Google: el primer paso es ingresar a cuenta personal en Google, al ingresar se debe colocar el siguiente link para generar los keys: https://www.google.com/recaptcha/admin/create

Posterior se debe descargar la librería para PHP a esta dirección. Si se desea trabajar con otros lenguajes o con determinadas plataformas, se deber acceder a cada una de dichas secciones desde este enlace.

Ahora se coloca el archivo “recaptchalib.php en el sitio y antes del submit de de lo que se desee resguardar, el siguiente código es el que se deberá ingresar:

<form method=”post” action=”formulario.php”>

<?php

// descomentar la linea de abajo si tenemos el codigo de validacion en otro archivo

// require_once(‘recaptchalib.php’);

$publickey = “tu public key”;

echo recaptcha_get_html($publickey, $error);

?><

<input type=”submit” />

</form>

Se debe tomar en cuenta que el reCaptcha necesitará pasar por una validación para saber si la información de ser insertada en una DB o enviarla por correo, depende de diversos casos. Además, se puede utilizar el mismo archivo para colocar el script o uno nuevo, sea cual sea el caso se debe incrustar al iniciar el código siguiente:

require_once(‘recaptchalib.php’);

$privatekey = “tu private key”;

$resp = null;

$error = null;

if ($_POST[“recaptcha_response_field”]) {

$resp = recaptcha_check_answer  $privatekey,

$_SERVER[“REMOTE_ADDR”],

$_POST[“recaptcha_challenge_field”],

$_POST[“recaptcha_response_field”]);

if ($resp->is_valid) {

// CODIGO A EJECUTAR SI EL RECAPTCHA VALIDA CORRECTAMENTE

} else {

// RECAPTCHA NO VALIDA ENTONCES IMPRIME ERROR

die (“El codigo reCAPTCHA no fue correctamente ingresado, por favor vuelva atras e intente nuevamente”);

}

}

Ahora se debe colocar los keys y la ruta al archivo recaptchalib.php, se sube la pagina con el contenido y se verifica que todo este en orden. Ahora bien, si se desea personalizar el recaptcha, se tendrá cuatro themes para utilizarlos. Si se desea cambiar el theme, se debe incrustar el siguiente código, justo antes del tag <form>

<script type=”text/javascript”>

var RecaptchaOptions = {

theme : ‘theme_name’

};

</script>

Es entonces cuando se remplaza theme_name por theme; otra opción a disposición es el lenguaje de los textos a mostrar, genera traducciones personalizadas y modificar el css de las distintas instancias del script. Como se ve, no para naca complicado, sólo requiere un tiempo disponible y listo.

0 Flares Twitter 0 Google+ 0 0 Flares ×

Sobre Edisson Oroxom

Redactor con más de cuatro años de experiencia en el mundo de la Blogosfera, soy un adicto a ella y por eso me encanta compartir los conocimientos que adquiero de este maravillo mundo online. Curso estudios universitarios y cada día entiendo de mejor manera el significado de transmitir "un contenido" de calidad.