PHP - recaptcha V3 no ejecuta linea para envío

 
Vista:
Imágen de perfil de Gina
Val: 51
Ha disminuido su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

recaptcha V3 no ejecuta linea para envío

Publicado por Gina (23 intervenciones) el 06/12/2019 20:03:34
Hola
Todos los programas ya están probados y funcionando con recaptcha V2 pero me han pedido pasar a la V3

En este proyecto uso recaptcha V3 y funciona muy bien detectando si es humano o robot.
El problema es que no ejecuta el programa que hace el envío de correo.

No sé si por el cambio de versión algunas instrucciones ya no sean compatibles o las clases que uso de smtp (que en V2 funciona sin problemas).

Programa de formulario (sección):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<form action="recaptcha-control.php" method="post" class="" onsubmit="MM_validateForm('nombre','','R','email','','telefono','','R','mensaje','','R');return document.MM_returnValue">
    <div class="col-lg-6">
        <label for="nombre">Nombre: </label><br>
        <input class="" name="nombre" id="nombre" type="text" required placeholder="Nombre..."><br>
    </div>
    <div class="col-lg-6">
        <label for="email">Email: </label><br>
        <input class="" name="email" id="email" type="email" required placeholder="Email..."><br>
    </div>
    <div class="col-lg-6">
        <label for="cargo">Cargo: </label><br>
        <input class="" name="cargo" id="cargo" type="text" placeholder="Cargo..."><br>
    </div>
    <div class="col-lg-6">
        <label for="telefono">Telefono: </label><br>
        <input class="" name="telefono" id="telefono" type="text" required placeholder="Telefono..."><br>
    </div>
    <div class="col-lg-6">
        <label for="empresa">Empresa: </label><br>
        <input class="" name="empresa" id="empresa" type="text" placeholder="Empresa..."><br>
    </div>
    <div class="col-lg-6">
        <label for="gempresa">Giro de tu Empresa: </label><br>
        <input class="" name="gempresa" id="gempresa" type="text" placeholder="Giro..."><br>
    </div>
    <div class="col-lg-6">
        <label for="mensaje">Mensaje: </label><br>
        <textarea  class="" name="mensaje" id="mensaje" required placeholder="Mensaje...."></textarea><br>
    </div>
    <div class="col-lg-6">
        <label for="archivo">Adjuntar Archivo: </label><br>
        <input type="file" name="archivo" id="archivo"><br>
    </div>
    <div class="col-lg-6">
        <label for="aviso">Aviso de privacidad: </label><br>
        <textarea  class="" id="aviso" cols="22" rows="5">He leído y me doy por enterado del presente aviso de privacidad, de igual forma, estoy de acuerdo.</textarea><br>
    </div>
    <div class="col-lg-4">
    </div>
    <div class="col-lg-2">
    <input type="hidden" name="recaptcha_response" id="recaptchaResponse">
        <center>
            <button class="btn btn-primary">Enviar</button>
        </center>
    </div>
    <div class="col-lg-6">
    </div>
</form>

Programa de recaptcha-control.php y que SI funciona identificar si es o no Robot pero ya no se ejecuta el programa correo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
if($_SERVER['REQUEST_METHOD'] === 'POST'){
	// Realizamos la petición de control:
	$recaptcha_url = 'https://www.google.com/recaptcha/api/siteverify';
	$recaptcha_secret = '6Lds5sUUAAAAALObrtx-7HWY5YmVcAR5Gv3M_eTT';
	$recaptcha_response = $_POST['recaptcha_response'];
	$recaptcha = file_get_contents($recaptcha_url . '?secret=' . $recaptcha_secret . '&response=' . $recaptcha_response);
	$recaptcha = json_decode($recaptcha);
	// Miramos si se considera humano o robot:
	if($recaptcha->score >= 0.6){
		include ("correo.php");
	}else{
    	echo 'Probablemente no eres un humano.';
		echo "error";
		}
}
?>

Programa de correos: que es en sí el que NO se ejecuta:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?
ob_start("ob_gzhandler");
include ("seguridad.php");
 
session_start();
 
mysql_connect("l00000","00000000","000000");
mysql_select_db("000000000");
mysql_query ("SET NAMES 'utf8'");
 
 
if(isset($_SESSION['carro']))
$carro=$_SESSION['carro'];else $carro=false;
 
$nombre 	=$_POST['nombre'];
	$email		=$_POST['email'];
	$aviso		=$_POST['aviso'];
	if($nombre==""){
		if($email==""){
			if($aviso==""){
			    header ("Location: contacto.php");
			}
		}
	}
 
//
$regresa ="<a href=index>inicio</a> . ";
$regresa.="Correo";
 
 
include("mailer/contacto.php");
echo "ghjj";
$nombre 	=$_POST['nombre'];
$email		=$_POST['email'];
$mensaje	=$_POST['mensaje'];
$aviso		=$_POST['aviso'];
if($nombre!=""){
    if($email!=""){
        if($mensaje!=""){
            if($aviso!=""){echo sendmail();}
        }
    }
}
?>

Agradeceré su apoyo.
Bonita tarde.
Gina M.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de José Manuel
Val: 147
Ha aumentado su posición en 53 puestos en PHP (en relación al último mes)
Gráfica de PHP

recaptcha V3 no ejecuta linea para envío

Publicado por José Manuel (43 intervenciones) el 09/12/2019 17:03:43
Hola Gina:

Esta URL sintetiza las diferencias:
https://www.smythsys.es/11400/diferencias-entre-recaptcha-v2-y-recaptcha-v3/

Cuándo usar uno u otro:
https://developers.google.com/recaptcha/docs/versions

En estas otras hay ejemplos de cómo utilizarlo:
https://codeforgeek.com/google-recaptcha-v3-tutorial/
https://www.easyappcode.com/como-utilizar-el-nuevo-recaptcha-v3-de-google-en-nuestro-proyecto-web
https://code.tutsplus.com/es/tutorials/example-of-how-to-add-google-recaptcha-v3-to-a-php-form--cms-33752

Como verás, básicamente, la versión 3 evita la interactividad con el usuario. Un saludo,
https://obelearningservices.com/blog/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar