Curso de PHP y MySQL 17: Captcha (reCAPTCHA Google)

Este es el capitulo 17 del Curso de PHP y MySQL. En este capitulo aprenderemos a agregar el sistema de Captcha de Google (reCAPTCHA) a un formulario en PHP  para determinar cuándo el usuario es o no humano.

Requisitos:

Para registrar un nuevo sitio es necesario iniciar sesión en Google. Ingresamos la Etiqueta y los dominios en donde utilizaremos este Captcha, Guardamos el formulario.

Al guardar la información nos envía la Clave del sitio, la Clave secreta y el código para implementar:

Ahora creamos un script en PHP para agregar el Captcha a un formulario:

index.php

<?php
	
	if(!empty($_POST)){
		
		$name = $_POST['name'];
		$password = $_POST['password'];
		$captcha = $_POST['g-recaptcha-response'];
		
		$secret = 'aqui va la clave secreta';
		
		if(!$captcha){

			echo "Por favor verifica el captcha";
			
			} else {
			
			$response = file_get_contents("https://www.google.com/recaptcha/api/siteverify?secret=$secret&response=$captcha");
			
			$arr = json_decode($response, TRUE);
			
			if($arr['success'])
			{
				echo '<h2>Thanks</h2>';
				} else {
				echo '<h3>Error al comprobar Captcha </h3>';
			}
		}
	}
?>

<html>
	<head>
		<title>Google Recapcha</title>
		
		<script src='https://www.google.com/recaptcha/api.js'></script>
		
	</head>
	<body>	
		<form id="form" action="<?php $_SERVER['PHP_SELF']; ?>" method="POST">
			Usuario: <input type="text" name="name">
			<br><br>
			Password: <input type="password" name="password">
			<br><br>
			<div class="g-recaptcha" data-sitekey="aqui va la clave del sitio"></div>
			<br>
			<input type="submit" name="login" value="Login">
			
		</form>
	</body>
</html>

Y el resultado es el siguiente:

Ademas de verificar que el usuario haya completado el Captcha también validamos que sea correcto enviando los datos a Google para su revisión y autorización.

Recuerda suscribirte a nuestro canal de YouTube, ¡¡¡Es Gratis!!!
Tutorial en Vídeo:

1 comentario en «Curso de PHP y MySQL 17: Captcha (reCAPTCHA Google)»

Los comentarios están cerrados.