Uso de Google reCAPTCHA en los formularios de su sitio web con PHP
¿Está buscando integrar Google reCAPTCHA en su sitio web? Google proporciona un servicio reCAPTCHA que agrega la casilla de verificación "No soy un robot" en su formulario para validar a los usuarios. Este reCAPTCHA protege sus formularios contra bots. En este artículo, estudiamos cómo agregar y validar Google reCAPTCHA en un sitio web usando PHP .
La protección de su base de datos contra el spam es una parte crucial de cualquier sitio web. Hoy en día, muchos bots envían continuamente datos falsos a través de formularios de sitios web. Al agregar reCAPTCHA en el sitio web, nos ayudará a detener registros de spam, comentarios, idiomas abusivos, etc.
Google reCAPTCHA está diseñado para averiguar si una solicitud entrante es de un humano real o de un bot.
Dicho esto, veamos una guía paso a paso sobre cómo agregar y validar reCAPTCHA en su sitio web.
Nota: En el pasado, hemos escrito un artículo sobre cómo agregar reCAPTCHA en formularios de Laravel. Si alguien está buscando integrar reCAPTCHA en Laravel, lea el artículo Agregar Google reCAPTCHA en los formularios del sitio web de Laravel.
Registre el sitio y obtenga claves API
Al principio, debe registrar su sitio aquí: https://www.google.com/recaptcha/admin. Elija las opciones para reCAPTCHA v2 y la casilla de verificación "No soy un robot" como se muestra en la captura de pantalla.
Si tiene la intención de probarlo en un servidor local, utilice la cadena ‘localhost’ en el campo de dominio.
Al completar el formulario anterior, obtendrá la clave del sitio y la clave secreta.
Integrar Google reCAPTCHA
Ya está listo con sus claves de API reCAPTCHA. A continuación, instale esta biblioteca de GitHub que permite agregar y validar reCAPTCHA. La forma recomendada de instalar esta biblioteca es a través de Composer.
Abra la terminal en el directorio raíz de su proyecto y ejecute el comando:
composer require anhskohbo/no-captcha
Después de instalar la biblioteca, podemos agregar el reCAPTCHA en nuestro formulario usando los métodos proporcionados en la biblioteca.
Por ejemplo, creemos un formulario que tenga campos como correo electrónico, reCAPTCHA y un botón de envío.
<?php
require_once "vendor/autoload.php";
$secret = 'YOUR_SECRET_KEY';
$sitekey = 'YOUR_SITE_KEY';
$captcha = new AnhskohboNoCaptchaNoCaptcha($secret, $sitekey);
?>
<form method="POST">
<p>
<input type="email" class="form-control" placeholder="Enter email address">
</p>
<?php echo $captcha->display(); ?>
<button type="submit" name="submit" class="btn btn-primary">Submit</button>
</form>
<?php echo $captcha->renderJs(); ?>
Asegúrese de reemplazar los marcadores de posición con los valores reales. En el código anterior, la función $captcha->display()
muestra la casilla de verificación "No soy un robot". El método $captcha->renderJs()
incluye el archivo JS requerido de reCAPTCHA.
Ahora, para validar al usuario, escriba el siguiente código en el envío del formulario.
if (isset($_POST['submit'])) {
if($captcha->verifyResponse($_POST['g-recaptcha-response'])) {
//proceed further
} else {
echo "Incorrect captcha";
}
}
Entonces nuestro código final es el siguiente.
<?php
require_once "vendor/autoload.php";
$secret = 'YOUR_SECRET_KEY';
$sitekey = 'YOUR_SITE_KEY';
$captcha = new AnhskohboNoCaptchaNoCaptcha($secret, $sitekey);
if (isset($_POST['submit'])) {
if($captcha->verifyResponse($_POST['g-recaptcha-response'])) {
//proceed further
} else {
echo "Incorrect captcha";
}
}
?>
<form method="POST">
<p>
<input type="email" class="form-control" placeholder="Enter email address">
</p>
<?php echo $captcha->display(); ?>
<button type="submit" name="submit" class="btn btn-primary">Submit</button>
</form>
<?php echo $captcha->renderJs(); ?>
¡Eso es! Espero que conozca la integración de Google reCAPTCHA en los formularios de su sitio web. Comparta sus pensamientos y sugerencias en la sección de comentarios a continuación.
Artículos relacionados
- Validar Google reCAPTCHA usando JavaScript
- Conversión de voz a texto con Amazon Transcribe en PHP
- Comprimir imágenes para sitios web usando reSmush.it en PHP