comment
IRC Chat
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

Resumen reCaptcha

  • 2 Respuestas
  • 1545 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado arthusu

  • *
  • Underc0der
  • Mensajes: 546
  • Actividad:
    8.33%
  • Reputación 2
  • Yo solo se que no se nada - Socrátes
    • Ver Perfil
    • Arthusu BLOG
  • Skype: arthusuxD
« en: Septiembre 29, 2014, 12:11:27 pm »
¿Que es reCaptcha?

reCaptcha te ayuda a prevenir a que abusen de tu sitio (que metan spam o que registren cuentas falsas) el captcha asegura que un humano esta realizando la accion.
 
API Keys



Para obtener una clave es necesario registrar nuestro dominio:

No tienes permisos para ver links. Registrate o Entra con tu cuenta

Puedes poner 1 o mas dominios separarlos por comas, ejemplo:

No tienes permisos para ver links. Registrate o Entra con tu cuenta,http://www.tutorialesarthusu.comlu.com,http://www.most-security.com,http://www.underc0de.org
Por defecto todas las claves funcionan en "localhost" con la ip 127.0.0.1 para que puedas hacer pruebas en tu servidor local.

Integrarlo

Para poder integrar reCaptcha a tu sitio solo es necesario realizar los tres pasos siendo el tercero opcional:

1.- Del lado del cliente: mostrar el widget recaptcha (Requerido)
2.- Del lado del servidor: verificar la solucion (Requerido)
3.- Personalizar (Opcional)

En la mayoria de los formularios webs tu usualmente tienes dos archivos: el formulario con los campos y el script que procesa los campos del formulario. Estos dos archivos corresponden al paso 1 y 2. Por lo tanto se tendran que modificar 2 archivos diferentes en la mayoria de los casos.

Hay dos maneras de agregar reCaptcha (a) con plugins o (b) sin plugins. Nosotros veremos la primera forma, que es con plugins utilizando PHP.


Usando reCaptcha en PHP

Para utilizar reCaptcha con PHP necesitas descargar la libreria:

No tienes permisos para ver links. Registrate o Entra con tu cuenta

De los archivos que vienen en el zip comprimido solo necesitas 1 archivo el que se llama recaptchalib.php los demas son ejemplos y cuestiones legales.

Despues de haberte registrado para poder usar la clave del API podemos proceder.

Del lado del cliente: como crear el captcha la imagen aparece

Si quieres utilizar la libreria reCaptcha de PHP para mostrar el widget, solo necesitas insertar la siguiente parte de codigo dentro de un elemento <form> donde el widget CAPTCHA sera colocado:



Código: PHP
  1. <?php
  2.  
  3.  require_once('recaptchalib.php');
  4.  
  5.  $clavepublica = "Aquivatuclavepublica"; // esta la obtienes cuando te registras
  6.  
  7.  echo recaptcha_get_html($clav5epublica);
  8.  
  9. ?>

Con el codigo anterior tu formulario luciria como el siguiente:


Código: PHP
  1. <!DOCTYPE html>
  2.  
  3. <html>
  4.  
  5. <head>
  6.  
  7.  <title>reCaptcha</title>
  8.  
  9. </head>
  10.  
  11. <body>
  12.  
  13. <!-- El body es requerido ya que sino el captcha no se mostrara en algunos navegadores -->
  14.  
  15. <form method="post" action="verificar.php">
  16.  
  17.   <?php
  18.  
  19.    require_once('recaptchalib.php');
  20.  
  21.    $clavepublica = "Aquivatuclavepublica"; // esta la obtienes cuando te registras
  22.  
  23.    echo recaptcha_get_html($clavepublica);
  24.  
  25.   ?>
  26.  
  27.  <input type="submit" />
  28.  
  29. </form>
  30.  
  31. </body>
  32.  
  33. </html>
  34.  
  35.  



No olvides reemplazar en la variable $clavepublica donde dice Aquivatuclavepublica por tu clave publica.

Si miras en el formulario se encuentra en el atributo action verificar.php este archivo es importante ya que aqui sera procesado el formulario, este archivo deberia de encontrarse en la misma localizacion que el archivo del formulario html.

Con la funcion require_once() llamamos al archivo requerido que es la libreria para el captcha, si este no se encuentra el script no puede continuar, recuerda colocar la ruta correctamente require_once(turuta/dondeseencuentra/recaptchalib.php)

Del lado del cliente: como probar que lo introducido por el usuario es lo correcto
El siguiente codigo deberia ser puesto al incio del archivo verificar.php:


Código: PHP
  1. <?php
  2.  
  3.  require_once('recaptchalib.php');
  4.  
  5.  $claveprivada = "Tuclaveprivada";
  6.  
  7.  $respuesta = recaptcha_check_answer($claveprivada,
  8.  
  9.      $_SERVER["REMOTE_ADDR"],
  10.  
  11.      $_POST["recaptcha_challenge_field"],
  12.  
  13.      $_POST["recaptcha_response_field"]);
  14.  
  15.  if (!$respuesta->is_valid) {
  16.  
  17.   // El captcha se metio incorrectamernte
  18.  
  19.   No tienes permisos para ver links. Registrate o Entra con tu cuenta("El captcha no se ingreso correctamente. Ve atras y vuelve a intentarlo". $respuesta->error);
  20.  
  21.  }else{
  22.  
  23.   // Tu codigo para manejar una verificacion correcta
  24.  
  25.   echo "Bien hecho";
  26.  
  27.  }
  28.  
  29. ?>

En el codigo de arriba:

* recaptcha_check_answer - retorna un objeto representando cuando el reto se completo correctamente
* Si $respuesta->is_valid si es true entonces puede continuar con el procesamiento del formulario
* Si $respuesta->is_valid si es false entonces muestra de nuevo otra imagen en el captcha. En caso de que $respuesta->error ocurra un error el captcha mostrara el codigo de error.

Nota importante: No confundas la clave publica con la clave privada.

Estaté seguro de que hayas colocado el array superglobal $_POST para usar el captcha.

Hasta aqui llega nuestro pequeño resumen de reCaptcha si quieres obtener mas informacion puedes consultar: No tienes permisos para ver links. Registrate o Entra con tu cuenta

Conectado ANTRAX

  • *
  • Administrator
  • Mensajes: 5396
  • Actividad:
    36.67%
  • Reputación 31
  • ANTRAX
    • Ver Perfil
    • Underc0de
    • Email
  • Skype: underc0de.org
  • Twitter: @Underc0de
« Respuesta #1 en: Septiembre 29, 2014, 12:18:24 pm »
Muy bueno arthusu!!!! Está excelente y muy bien explicado!
Te dejare +1

Saludos!
ANTRAX


Desconectado facufangio

  • *
  • Underc0der
  • Mensajes: 152
  • Actividad:
    0%
  • Reputación 0
  • < SE SIEMPRE EL MEJOR, PERO NO TE LO CREAS />
    • Ver Perfil
    • Email
« Respuesta #2 en: Septiembre 29, 2014, 12:45:35 pm »
Muy buen aporte!! ;D

 

¿Te gustó el post? COMPARTILO!