Implementar Google Recaptcha en PHP

Implementar Google Recaptcha en PHP

Muchas veces es necesario incluir algún tipo de formulario de información para los usuarios de nuestro sitio o sistema web, un problema muy habitual es el spam que se produce debido a diversos factores y robots que existen en Internet. Una medida excepcional para evitar que nos lleguen mensajes no deseados es implementar Google recaptcha en nuestro codigo con PHP.

Para todo administrador de sitio web y plataforma web es bastante molesto estar recibiendo notificaciones de comentarios spam o un poco peor, registro de usuarios robots falsos que solo vienen a propósitos especificos molestos.

Nosotros como desarrolladores debemos de implementar sistemas que eviten estos problemas a nuestros usuarios, ¿cómo hacerlo?

El envío de spam es un problema que azota a Internet, sin embargo cada día hay soluciones más y más efectivas para evitar esto.


¿Sabías que?

¿Necesitas hosting wordpress? WebEmpresa te ofrece un servicio super rápido, excelente soporte en español y certificado SSL gratuito:

WebEmpresa

Una de estas soluciones es implementar Google recaptcha el cual seguramente lo has visto más de una vez y en él tienes que jurar que no eres un robot.

implementar google recaptcha en php jonathanmelgoza

Como puedes ver esta medida es bastante popular en Internet, seguramente la has visto más de alguna vez para completar algún registro o enviar un comentario.

La razón de su popularidad se debe principalmente a 2 factores: es de Google y realmente funciona.

En este articulo vamos a ver como implementar google recaptcha de manera fácil con PHP en nuestros proyectos en Internet.

Obtener api key

Lo primero que necesitamos es ir al sitio web de Google y obtener una llave de acceso:

https://www.google.com/recaptcha/admin

y registrar un nuevo sitio completando el campo etiqueta y elegimos Checkbox.

implementar google recaptcha con php jonathanmelgoza 1

implementar google recaptcha con php jonathanmelgoza 2

Una vez registrado nuestro sitio obtendremos diferentes valores entre los que encontraremos la clave del sitio y la clave secreta.

implementar google recaptcha con php jonathanmelgoza 3

En esta misma página nos indica que en nuestro proyecto debemos importar la libreria de google recaptcha lo cual lo haremos en el siguiente punto.

Incluir Google Recaptcha en tu formulario

Supongamos que tenemos un formulario normal en HTML.

Entre el último campo y el boton de Enviar debemos agregar nuestro google recaptcha.

Para agregar nuestro checkbox de google vamos a incluir lo siguiente:

 <div class="g-recaptcha" data-sitekey="[Tu clave del sitio]"></div>

Donde debemos incluir nuestra clave del sitio que obtuvimos anteriormente.

También debemos incluir la libreria JS de Google recaptcha en nuestro proyecto:

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

Ahora veamos que hacemos en nuestro proyecto del lado del servidor, en este caso con PHP.

Implementar Google Recaptcha en el servidor

En nuestro documento PHP al que llega la información de nuestro formulario debemos implementar lo siguiente:

Recibimos nuestra variable de google recaptcha:

$recaptcha = $_POST["g-recaptcha-response"];

e inicializamos algunas variables:

$verificacionRecaptcha = "https://www.google.com/recaptcha/api/siteverify";
$data = array(
	'secret' => '[Tu clave secreta]',
	'response' => $recaptcha
);
$options = array(
	'http' => array (
		'method' => 'POST',
		'content' => http_build_query($data)
	)
);

Y por último consultamos a Google si es válida la solicitud o no:

$context  = stream_context_create($options);
$verify = file_get_contents($verificacionRecaptcha, false, $context);
$captcha_success = json_decode($verify);
if ($captcha_success->success) {
     // Todo correcto
     // ...
}else{
     // No es humano
}

Como puedes ver es bastante fácil implementar google recatpcha en un proyecto y los beneficios de hacerlo son demasiado grandes.

También puedes ver como optimizar imágenes con php subidas desde un formulario ya que estás aquí.

Si esta información te fue de utilidad no olvides compartirla en tus redes sociales o dejarnos un comentario para aclarar cualquier duda respecto al procesto de implementación.

Hasta luego!

Clic para valorar esta información
[Total: 0 Promedio: 0]