Boa tarde Pessoal. Estou me arriscando a inserir um Recaptcha do google no meu site para evitar os Spams que tenho recebido diariamente.
Fiz o cadastro no Google e gerei as chaves.
A dúvida é: Como devo inserir no código PHP os parametros do Recaptcha sem interferir no processo atual de validação? Isso é possível?
Os parametros que peguei de um Tutorial foram:
// incluir a funcionalidade do recaptcha
require_once "recaptchalib.php";
// definir a chave secreta
$secret = "INSIRA-AQUI-A-CHAVE-SECRETA";
// verificar a chave secreta
$response = null;
$reCaptcha = new ReCaptcha($secret);
if ($_POST["g-recaptcha-response"]) {
$response = $reCaptcha->verifyResponse($_SERVER["REMOTE_ADDR"], $_POST["g-recaptcha-response"]);
}
// deu tudo certo?
if ($response != null && $response->success) {
// processar o formulario
}
E eu gostaria de incluí-lo dentro do meu arquivo PHP que faz a validação do formulário:
<?php
if(isset($_POST['email']))
{
session_cache_limiter( 'nocache' );
$subject = "Contato Site"; // Subject of your email
$to = "endereçodeemail"; //Recipient's E-mail
$origem = $_POST['email'];
$subject_reply = "Re: ".$subject;
$to_reply = $_POST['email'];
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=UTF-8\r\n";
$headers .= "From: " . $_POST['name']."<".$_POST['email'].">"."\r\n";
$headers_reply = "MIME-Version: 1.0\r\n";
$headers_reply .= "Content-type: text/html; charset=UTF-8\r\n";
$headers_reply .= "From: " . $to ."\r\n";
$msg = "Nome: " .$_POST['name'] ."<br>\n";
$msg .= "Email: " .$_POST['email'] ."<br>\n";
$msg .= "Telefone: " .$_POST['phone'] ."<br>\n";
$msg .= "Assunto: " .$_POST['subject'] ."<br>\n";
$msg .= "Mensagem: " .$_POST['message'] ."\n";
$message_reply = "Agradecemos o contato"."<br>\n"."";
if (@mail($to, $subject, $msg, $headers,"-r".$origem))
{
mail($to_reply, $subject_reply, $message_reply, $headers_reply,"-r".$origem);
// Transfer the value 'sent' to ajax function for showing success message.
echo 'sent';
}
else
{
// Transfer the value 'failed' to ajax function for showing error message.
echo 'failed';
}
}
?>
O formulário da página html está assim:
<form id='contact_form' name="enqueryForm" method="post" action="enviar.php">
<div class="col-md-6">
<input type="text" class="form-control" id="name" name="name" placeholder="Nome">
</div>
<div class="col-md-6">
<input id="email" type="email" class="form-control" name="email" placeholder="E-mail">
</div>
<div class="col-md-6">
<input type="text" class="form-control" maxlength="15" placeholder="Telefone - (11) 1111-1111" onkeypress='return SomenteNumero(event)'name="phone" id="phone" />
</div>
<div class="col-md-6">
<input type="text" class="form-control" id="subject" name="subject" placeholder="Assunto">
</div>
<div class="col-md-12">
<textarea id="message" class="form-control" rows="8" name="message" placeholder="Mensagem"></textarea>
</div>
<div class="form-group col-md-12">
<div id="mail_success" class="success" style="display:none;"> Mensagem enviada! </div>
<div id="mail_fail" class="error" style="display:none;"> Erro no envio. Tente novamente. </div>
</div>
<div class="g-recaptcha" data-sitekey="CHAVE"></div>
<div class="send-button text-center">
<button id="send_message" class="btn" name="submit" type="submit">Enviar</button>
</div>
</form>
Agradeço demais quem puder me ajudar!