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:
- Servidor Web, PHP y MySQL. Ver Capitulo 1
- reCAPTCHA. Registrar Captcha
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.
1 comentario en «Curso de PHP y MySQL 17: Captcha (reCAPTCHA Google)»
Los comentarios están cerrados.