Hoy os voy a compartir un código para poder validar un Token ReCaptcha con PHP.
Lo primero que haremos es copiar esta función en el archivo dónde queramos validar:
if (!isset($body["token_recaptcha"])) { die("Error no recibe el captcha"); } $recaptcha = $body["token_recaptcha"]; $url = 'https://www.google.com/recaptcha/api/siteverify'; $data = array( 'secret' => 'SECRET_CODE', 'response' => $recaptcha, 'remoteip' => $_SERVER['HTTP_CLIENT_IP'] ); $options = array( 'http' => array( 'method' => 'POST', 'content' => http_build_query($data) ) ); $context = stream_context_create($options); $verify = file_get_contents($url, false, $context); $captcha_success = json_decode($verify); if ($captcha_success->success) { echo "Captcha OK" } else { die("Error validando el captcha"); } }
En este ejemplo pasamos por body JSON el código reCaptcha obtenido y lo validamos.
Sustituye SECRET_CODE por el código secreto obtenido al crear el captcha.
Para enviar la IP remota puedes usar HTTP_CLIENT_IP o HTTP_X_REAL_IP si usas un proxy inverso como NPM
Finalmente valida el token de captcha y permite continuar.
Ingeniero en Informática, me encanta crear cosas o arreglarlas y darles una nueva vida. Escritor y poeta. Más de 20 APPs publicadas y un libro en Amazon.