17. Captcha (reCAPTCHA Google)

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";
		}
		
		$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.