instalar un captcha de seguridad

¿Cómo instalar un buen captcha de Seguridad?

Pasos para implementar reCAPTCHA

http://recaptcha.net/


1.- ¿Qué es reCAPTHCA?
2.- Manual de instalación de reCAPTCHA
3.- Personalizacion del theme


1.- ¿Que es CAPTCHA?

Captcha es el acrónimo de Completely Automated Public Turing test to tell Computers and Humans Apart (Prueba de Turing pública y automática para diferenciar a máquinas y humanos).

Este es un típico test para la secuencia “smwm” que dificulta el reconocimiento de la máquina rotando las letras y añadiendo un gradiente de fondoSe trata de una prueba desafío-respuesta utilizada en computación para determinar cuándo el usuario es o no humano. El término se empezó a utilizar en el año 2000 por Luis von Ahn, Manuel Blum y Nicholas J. Hopper de la Carnegie Mellon University, y John Langford de IBM.

La típica prueba consiste en que el usuario introduzca un conjunto de caracteres que se muestran en una imagen distorsionada que aparece en pantalla. Se supone que una máquina no es capaz de comprender e introducir la secuencia de forma correcta por lo que solamente el humano podría hacerlo (salvo error).

Como el test es controlado por una máquina en lugar de un humano como en la Prueba de Turing, también se denomina Prueba de Turing Inversa.

Los Captchas son utilizados para evitar que robots, también llamados spambots, puedan utilizar ciertos servicios. Por ejemplo, para que no puedan participar en encuestas, registrarse para usar cuentas de correo electrónico (o su uso para envío de correo basura) o, más recientemente, para evitar que correo basura pueda ser enviado por un robot (el remitente debe pasar el test antes de que se entregue al destinatario).

reCAPTCHA
PLUGIN GRATIS ANTI SPAMBOTS

Existen tres formas de uso reCAPTCHA: mediante un plugin de aplicación, utilizando una biblioteca para su lenguaje de programación, y el uso de la web basados en la API. Los siguientes recursos le ayudará a encontrar el método correcto para su entorno.

Cliente API
El cliente API guía describe cómo personalizar el comportamiento de la reCAPTCHA widget en su sitio. Esta guía se aplica a todos los plugins.
Entorno de programación plugins
•PHP
•ASP.NET
•Classic ASP: véase este foro
Python •Perl (aportados por Andy Armstrong)
•Ruby (aportados por McClain Looney)
•Otro Ruby biblioteca de Jason Perry L
Java (aportados por Soren)
ColdFusion (aportados por Robin Hilliard)

Aplicación complementos
•WordPress
•MediaWiki
•phpBB
•Movable Type (aportados por Josh Carter)
Drupal (aportados por Rob Loach)
Symfony (aportado por Arthur Koziel)
Typo3 (aportados por Jens Mittag. Véase también el ejemplo de utilizar el plugin)
NucleusCMS (aportados por Matt)
vBulletin (aportados por Magnus)
•Joomla (aportados por Robert van den Breemen)
Mailhide JSP (por Tamas Magyar)

Documentación API
Estos documentos describen el bajo nivel reCAPTCHA API. Usted debe de referencia estos documentos si está creando un nuevo plugin

Comunidad
reCAPTCHA Foro: un lugar donde usted puede hacer preguntas sobre reCAPTCHA y complementos

reCAPTCHA Wiki: un lugar para publicar cualquier información relacionada con la reCAPTCHA

reCAPTCHA en Google Code: muchos plugins que se desarrollan. Pregúntele a nosotros para acceder a ellos.

2.- MANUAL DE INSTALACION reCAPTCHA

Paso 1: Registrarse en reCAPTCHA

Nos tenemos que dirigir a http://recaptcha.net/ y registrarnos como usuarios. Nos solicitarán unos pocos datos personales para darnos de alta.

Una vez registrados debemos obtener unas claves para utilizar el sistema de captcha. Estas claves son específicas para cada dominio donde quieras utilizarlo. Las claves no son más que una llave pública y otra privada, que utilizaremos luego para poner la captcha en nuestra web.

Son algo como esto:

Public Key: 5LfCABCDEFGHIJUNDSBOejHq-5n5StSWawBpCAMX
Private Key: 6LfCAAAFHJSDFGHHJHDeju3a-Z5lomjShHKaGh9g

Esas claves son, lógicamente, secretas y debemos mantenerlas así. Las claves anteriores son de ejemplo.

En el sitio de reCAPTCHA tendremos que descargarnos unos códigos PHP con una librería PHP para poner en nuestro servidor y unos ejemplos de uso del sistema. Esto lo podemos conseguir en el apartado “Resources”. Veremos que tienen un plugin o librería para trabajar con PHP, que además está perfectamente documentado.

Una vez descargado el zip que contiene la librería PHP, la tenemos que poner en algún lugar de nuestro servidor. Recuerda luego donde la has puesto, porque tendrás que hacer un include con PHP de esa librería.

Por ejemplo, podríamos colocar dicha librería en el mismo directorio donde está la página PHP que va a hacer uso de ella. Entonces la incluiríamos con algo como esto:

require_once('recaptchalib.php');

Paso 2: Incluir el captcha en el formulario

En la librería descargada (‘recaptchalib.php’) Hay una función que sirve para mostrar la captcha. Simplemente tenemos que llamarla con los parámetros correctos. La función devuelve el código HTML que tenemos que colocar en la página para que se vea la captcha.

recaptcha_get_html($captcha_publickey, $error_captcha);

Los parámetros que recibe son la llave pública que conseguimos anteriormente y un código de error, que es opcional. Luego veremos de dónde podría venir ese código de error.

El código del formulario sería algo como esto:

<?
require_once('recaptchalib.php');
//Llaves de la captcha
$captcha_publickey = "xxxxxxxxxxxxxxxxxxxxxxx";
$captcha_privatekey = "yyyyyyyyyyyyyyyyyyyyyy";
//por ahora ponemos a null el error de la captcha
$error_captcha=null;
?>

<form action="miejemplo_formulario.php" method="post">
Nombre: <input type="text" name="nombre" size="30">
Edad: <input type="text" name="edad" size="3">
<br>
<?
//escribimos en la página lo que nos devuelve recaptcha_get_html()
echo recaptcha_get_html($captcha_publickey, $error_captcha);
?>
<br>
<input type="submit" value="Enviar">
</form>

Paso 3: Validar la captcha

Existe otra función para validar la captcha, llamada recaptcha_check_answer(). Esta función recibe también varios parámetros: La llave privada, la IP del usuario, y dos campos que contienen los valores que envía la captcha dentro del formulario $_POST[“recaptcha_challenge_field”] y $_POST[“recaptcha_response_field”].

Esta función devuelve un objeto que tiene dos propiedades:

is_valid, un boleano para decir si es se ha validado correctamente la captcha. error, un código de error que especifica qué ha ido mal si no se validó correctamente el texto.

Podríamos validar la captcha con algo como esto:

<?php
$captcha_respuesta = recaptcha_check_answer ($captcha_privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if ($captcha_respuesta->is_valid) {
//todo correcto
//hacemos lo que se deba hacer una vez recibido el formulario válido
}else{
//El código de validación de la imagen está mal escrito.
$error_captcha = $captcha_respuesta->error;
}
?>

Llamamos a la función recaptcha_check_answer() enviando los parámetros comentados y guardamos el valor devuelto por la función en la variable $captcha_respuesta.

Luego comprobamos si el atributo $captcha_respuesta->is_valid es true. En ese caso sabemos que el texto escrito de la imagen se ha validado correctamente y hacemos lo que haya que hacer en el formulario.

Si $captcha_respuesta->is_valid era falso, entonces quiere decir que no estaba bien escrito el texto de la imagen. Podemos entonces actualizar la variable $error_captcha para que cuando mostremos de nuevo la captcha podamos pasarle el error generado y que avise al usuario.

Tenemos nuestra captcha funcionando!

El código completo de este ejemplo es el siguiente:

<html>
<head>
<title>Página con formulario protegido por captcha</title>
</head></span>

<body>
<?
require_once('recaptchalib.php');
//Llaves de la captcha
$captcha_publickey = "xxxxxxxxxxxxxxxxxxxxxxx";
$captcha_privatekey = "yyyyyyyyyyyyyyyyyyyyy";
$error_captcha=null;

if ($_POST){
$captcha_respuesta = recaptcha_check_answer ($captcha_privatekey,
$_SERVER["REMOTE_ADDR"],
$_POST["recaptcha_challenge_field"],
$_POST["recaptcha_response_field"]);
if ($captcha_respuesta->is_valid) {
//todo correcto
//hacemos lo que se deba hacer una vez recibido el formulario válido
echo "Todo correcto!";
}else{
//El código de validación de la imagen está mal escrito.
echo "Has escrito mal el texto";
$error_captcha = $captcha_respuesta->error;
}
}
?>

<form action="miejemplo_formulario.php" method="post">
Nombre: <input type="text" name="nombre" size="30">
<br>
Edad: <input type="text" name="edad" size="3">
<br>
<?
//escribimos en la página lo que nos devuelve recaptcha_get_html()
echo recaptcha_get_html($captcha_publickey, $error_captcha);
?>
<br>
<input type="submit" value="Enviar">
</form>

</body>
</html>

3.-PERSONALIZACION DEL THEME

Lo importante son la configuración inicial mediante la variable RecaptchaOptions, las funciones de javascript para las distintas acciones(Recaptcha.reload(), Recaptcha.switch_type(‘audio’), Recaptcha.showhelp()), el id del div donde va el captcha (recaptcha_image) y el input donde se escribe el captcha

<input type="text" id="recaptcha_response_field" name="recaptcha_response_field" />
<script>
     var RecaptchaOptions = {
        theme: 'custom',
        lang: 'es',
        custom_theme_widget: 'frm_recpatcha'
     };
 </script>
 <div class="frm_recpatcha">
 <div class="frm_recaptcha_img" id="recaptcha_image" >
    <img width="307" height="55" alt="Captcha" title="Captcha" class="captcha" src="/img/recaptcha.gif" alt="RECAPTCHA" />
 </div>

 <img src="/imgs/recaptcha_buttons.gif" width="26" height="57" alt="Captcha" title="Captcha" style="float:left;margin:0 auto; display:block;" />
 <p style="margin:5px 10px;"><a href="javascript:Recaptcha.reload()" class="azul">Recargar</a></p>
 <p style="margin:5px 10px;"><a href="javascript:Recaptcha.switch_type('audio')" class="azul">Audio</a></p>
 <p style="margin:5px 10px;"><a href="javascript:Recaptcha.showhelp()"  class="azul">Ayuda</a></p>
 <p><label style="">Introduce las 2 palabras de la imagen:</label></p>
 <input type="text" id="recaptcha_response_field" name="recaptcha_response_field" name="#" maxlength="100" class="intro_captcha" />
<?php
echo recaptcha_get_html($captcha_publickey, $error_captcha);
?>

Tags de búsquedas:

captcha javascript,poner captcha,poner captcha en mi web,como poner un captcha,actualizar firefox para leer capchat,instalar captcha,instalar recaptcha,como actualizar capcha patria,captcha google español,como validar el capcha para sistema patria,captcha para utilizar en mi web javascript,captcha para mi web,para que sirve el recatchap,agregar captcha a formulario,actualizar recapcha

Noticias relacionadas »

27 comentarios en instalar un captcha de seguridad

  1. rafael
    / Responder

    Hola buenas tengo una duda con el reCAPTCHA. Tengo creada muchas paginas con su formulario y su recapcha de google y en algunas cuando pasa un tiempo la clave secreta del recapcha se cambia sola en la pagina de creacion de recapcha de google y por consiguiente el formulario de la web deja de funcionar. Tengo que mirar la clave secreta k se ha generado sola en la web de recapcha y modificarla en mi codigo para que vuelva a funcionar el formulario.

    Sabe alguien si la clave secreta de los reCAPTCHA caducan cada cierto tiempo??? Si es así hay algún porque y alguna manera de que no pase o me lo notifiquen?¿?¿

    Muchas gracias de antemano.

  2. MATEO ORTIZ BEDOYA
    / Responder

    doy info clara en este link http://www.selocambio.nixiweb.com/selocambio.com/ es de un proyecto para mi universidad, en donde necesito capturar en el index, con dos campos de texto el nombre y el correo del usuario, y tengo que implementar el sitema captcha, bajado la info de la paguna la he leido todo he incorporado todo pero me sale un mensaje de que necesito las claves y ya tengo 3 claves (en total 6), la verdad es urgente…. espero me colaboren

  3. MATEO ORTIZ BEDOYA
    / Responder

    NO ME SALE POR QUE ME DICE QUE NECESITO LAS CLAVES Y YA TENGO 3 PARES DE CALVES PUBLICAS Y PRIVADAS Y NO ME SALE

  4. MATEO ORTIZ BEDOYA
    / Responder

    ME SALE QUE TENGO QUE CONSEGUIR LAS CONTRASEÑAS Y YA TENGO 3 PARES DE KEYS Y CON NINGUNA ME MUESTRA NADA

  5. Dammx
    / Responder

    se puede integrar el captcha en un formulario de Google docs en una pagiian de google sites?

    Gracias de antemano

  6. Beron
    / Responder

    Me registre en el sitio http://recaptcha.net/me dio las claves, baje la libreria php. inserte los codigos a mi formulario y hasta ahi todo excelente, *Pero!! No valida: Si le doy en viar formulario lo envia con texto o sin texto. Me puedes ayudar por favor!

    • / Responder

      Hola Pedro..
      He seguido paso a paso tu tutorial, con registro y obtencion de las keys correspondientes, pero no valida…
      Envia directamente tanto el ejemplo como el formulario real (que es un mailler),
      complete bien o mal o no el campo que requiere el captchat…
      Desde ya agradezco tu opinion
      Mis saludos!!

  7. rogelio
    / Responder

    Como integro el reCaptcha en mi sitio web, ya registre..peroa aun no puedo visualizar el plugin en mi sitio

    • Pedro Ventura
      / Responder

      bueno donde te has quedado? has seguido avanzando? has hecho todos los pasos?
      Lee el resto de comentarios por si alguien le ha pasado lo mismo que a ti.
      Ya me cuentas,ok?

      Un saludo!

  8. Osain
    / Responder

    Pedro:
    Muchísimas gracias por compartir estos conocimientos, me serán de mucha utilidad.
    Sigue así campeón.

  9. Cesar
    / Responder

    Hola, oye amigo ayudame porfavor,hice todos los pasos pero aun asi pueden enviar el form sin necesidad de poner el captcha :S

  10. marcos
    / Responder

    no se me valida el recaptch, osea pudo enviar el formulario, aunque escriba mas las palabras ono las escriba en recaptch.

    porque sucede esto?

  11. garoalex
    / Responder

    disculpen pero como puedo utilizar este recaptcha en Java usando JSP o tienen alguno = como este de bueno que me lo proporcionen de favor.—-

  12. Pedro Ventura
    / Responder

    Jesus, sobre el mail que me has mandado, me puedes enviar una url de pruebas para que lo vea?

    • Jesús
      / Responder

      aqui esta el link la pagina aun esta en construcción pero fijate pa que veas lo que digo a ver como me puedes ayudar. Gracias de antemano…

      http://www.covacodes.com/body/contactme/contactme.php

    • Jesús
      / Responder

      se me olvido recordarte que viera bien cuando se carga la pagina, para que evas que se descuadra uno segundos y luego al cargarse el recpatcha se pone bien sin embargo esos segundos hacenm que se ea la pagina fea.

      • Pedro Ventura
        / Responder

        yo lo he probado con chrome, firefox y IE 8 no veo que se descuadre nada?!!!
        Que navegador estas usando?

  13. Mariana
    / Responder

    Hola Pedro.
    Te cuento, desde hace 4 meses estoy usando el recaptcha guiandome por tu turotial,
    y te felicito todo funciona perfecto.
    Pero, resulta que me he dado cuenta que cuando abro mi pagina o mejor dicho el archivo que contiene el captcha, desde internet explore funciona bien pero entonces no se me ven las animaciones flash que tengo, y lo mas raro es que esas animaciones no se ven es solo donde estan los formularios con el captcha de resto se ven bien, no y los mas raro es que algunas veces se ve pero son mas las veces que no se ve.
    Bueno agradeciendo tu pronta respuesta en lo que me puedas guiar.
    Saludos…

    • Pedro Ventura
      / Responder

      cual es el sitio web donde lo tienes para verlo?

  14. Pedro Ventura
    / Responder

    Hola Maicro,

    acabo de ver tu email y tu duda… en cuanto tenga un rato te respondo,ok?!

    Un saludo!

    • / Responder

      tengo en mi web una form en contactanos y quiero instalar captcha y no se como hacerlo si me puedes ayudar si lo que tengo que hacer is copiar y pegarlo en mi source en esa pagina contactanos. cualquier ayuda es bienvenida.
      gracias

      • / Responder

        Buenas Juan,

        para empezar vete a https://admin.recaptcha.net/accounts/signup/ te registras en recaptcha y luego registra tu página web, con esto conseguiras unas keys (publica y privada) con las que podrás seguir la integración.. cuando las tengas me confirmas y te sigo ayudando con la integración,ok? 🙂
        un saludo!

  15. / Responder

    Puedes registrarte en la web oficial de recaptcha http://recaptcha.net/ y descargar su documentación oficial en inglés, creo que lo pueden tener en otros idiomas, sino usa google traductor para traducir la información.

    Un saludo

  16. Pingback: mexame.com

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Invertir en criptomonedas: »

 

Cómo comprar bitcoin

Invertir y comprar Bitcoin y otras altcoins es más fácil de lo que crees.

1) Si sólo quieres comprar Bitcoin, Ethereum o Litecoin como inversión, tu opción es Coinbase

2) Si quieres probar con otras criptomonedas tu opción es Binance

3) Cualquier duda escríbeme con total libertad al formulario de contacto para resolver dudas: https://www.pedroventura.com/contacto/

¡Comparte este artículo! »

  • Margherita (5 horas)
    Hola, tengo un problema con el plugin. Tanto en la…
  • Pablo H (2 semanas)
    Hola Pedro, Muchas gracias por el post, me fue muy…
  • Pedro Ventura (2 semanas)
    Hola Margat Muchísimas gracias por tu comentario, me alegro de…
  • Pedro Ventura (2 semanas)
    Hola Rebeca, Tan sólo se permite 1 dominio por cuenta.…
  • Rebeca (2 semanas)
    Hola. Yo ya tengo un dominio en bitly pero quiero…
  • Pedro Ventura (3 semanas)
    Hola Raul, 1. No habría problema, de hecho yo sigo…

Suscríbete al newsletter »

Proporciona tu correo electrónico a continuación y recibe las últimas noticias! Funciona con Feedburner de Google

Archivo »

Leer entrada anterior
Parseando XML con PHP. Lo más fácil y simple

Una de las maneras más simples de parsear los datos de un xml es usar la función de php simpleXML...

Cerrar