Como integrar reCAPTCHA en tu sitio web

/ noviembre 15, 2017/ Google/ 0 comentarios

  1. Debemos crear nuestra API, para eso vamos a https://www.google.com/recaptcha/admin y nos logueamos con nuestra cuenta de Gmail (de otra manera no podrás crearlo).
  2. Completamos el campo etiqueta con algún texto que nos recuerde a que se refiere.
  3. Seleccionamos el tipo reCAPTCHA V2 y en Dominios ponemos la url que vamos a insertar nuestro reCaptcha.
    Aceptamos los Términos de Servicio y click en «Registro»

Si el registro sale exitoso nos debería mostrar la siguiente pantalla:

4. Ahora realizamos el Paso 1 (integración del lado del cliente) y pegamos el siguiente fragmento antes de la etiqueta de cierre </head> en nuestro archivo que vamos a mostrar el reCaptcha:

<script src='https://www.google.com/recaptcha/api.js'></script>

Y dentro del formulario antes de la etiqueta <input /> insertamos:

<div class="g-recaptcha" data-sitekey="acá insertamos nuestra clave secreta"></div>

5. Último paso: debemos crear nuestro archivo que recibe los datos del formulario y controla que todo este ok:

<?php
if (isset($_POST["g-recaptcha-response"]) && $_POST["g-recaptcha-response"]) {
	$secret = "acá insertamos nuestra clave secreta";
	$ip = $_SERVER["REMOTE_ADDR"];
	$captcha = $_POST["g-recaptcha-response"];

	$result = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$captcha&remoteip=$ip");

	$array = json_decode($result, TRUE);

	if ($array["success"])
	{
		$remitente = $_POST['email'];
		$destinatario = 'info@misitio.com'; // en esta línea va el mail del destinatario, conviene que se una cuenta de dominio, con Gmail llega a spam.
		$asunto = 'Consulta'; // acá se puede modificar el asunto del mail

		include 'confirma-contacto.php'; //se debe crear un html que confirma el envío

		$cuerpo = "Nombre y Apellido: " . $_POST["nombre"] . "\r\n";
	    $cuerpo .= "Email: " . $_POST["email"] . "\r\n";
	    $cuerpo .= "Consulta: " . $_POST["consulta"] . "\r\n";

	    $headers  = "MIME-Version: 1.0\n";
	    $headers .= "Content-type: text/plain; charset=utf-8\n";
	    $headers .= "X-Priority: 3\n";
	    $headers .= "X-MSMail-Priority: Normal\n";
	    $headers .= "X-Mailer: php\n";
	    $headers .= "From: \"".$_POST['nombre']." ".$_POST['apellido']."\" <".$remitente.">\n";

	    mail($destinatario, $asunto, $cuerpo, $headers);
	}
}else{
		echo "<script type=\"text/javascript\">
			alert('Seleccione la casilla de verificación');
			history.go(-1);
		</script>";
		exit;
}
?>

Listo! Ya tenemos nuestro reCAPTCHA funcionando en nuestro sitio web.

Saludos!

Compartir esta entrada

Dejar un Comentar

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

*
*