Skip to content
Tópicos do Artigo

Como evitar Cadastro de bots no formulário ou página de captura?

Objetivo: Evitar cadastro de robôs/bots em seu formulário ou página de captura do leadlovers.

Para que serve: Fomos abordados algumas vezes por nossos usuários sobre situações em que bots/Robôs estão atacando páginas cadastrando e-mails inválidos nos formulários. Após ajudar diversos clientes com situações semelhantes, temos alguns passos que podem ajudar a mitigar situações como esta.

Requisito(s) Obrigatórios: 1. Ter formulário ou página de captura do leadlovers sofrendo cadastros de bots.

 

Manter recaptcha no formulário

O recaptcha que utilizamos, é o do Google. Ele irá impedir cadastro automático por meio do formulário, isso irá afastar os robôs que cadastram e-mails inválidos.
Para instalar o Recaptcha, basta inserir o código que vai ficar no final deste artigo, na seção head das configurações da sua página de captura.

 

Alterar a URL da página

Nesse caso, você pode trocar a URL da página para um outro subdomínio.
Se sua URL atual é, por exemplo: cadastro.seudominio.com.br
poderia trocar a palavra “cadastro” por outra palavra. Isso geraria um novo subdomínio.
Ex: ficaria por exemplo: listavip.seudominio.com.br

Se você usava o domínio raiz, considere trocar para um subdomínio.
Confira nosso artigo sobre subdomínio através deste link você encontra outros artigos com instruções para configuração de um subdomínio.

 

Fazer a cópia da máquina – duplicar

 

Quando se cria uma máquina nova (mesmo por meio da duplicação), o código de cadastro da máquina altera. Esse código é parte integrante do formulário de captura.

◽ Se apenas trocar o funil sem mudar a máquina, o código permanece o mesmo e os ataques podem continuar.

◽ Se realizar uma cópia da máquina juntamente com a alteração da URL da sua página, a partir disso, a probabilidade dos ataques continuarem é mínima.

  • As métricas dos e-mails enviados aparecerão somente na máquina antiga: número de envios, aberturas, cliques, histórico de disparos.
  • Bem como as métricas de visualização de páginas: número de visualizações e conversões. Esses dados também ficarão na máquina antiga.
  • Se é importante pra você, não apague a máquina antiga. Somente desative todos os funis para não realizar mais disparos, caso eventualmente leads de robôs continuem se cadastrando.
  • Os leads não são copiados junto com a máquina, é necessário movê-los após duplicar a máquina.
  • Faça a movimentação de leads somente com os e-mails dos funis desativados. E ative depois de ter movido todos os leads que deseja. Confira nosso passo a passo sobre: Como mover lead de máquina

Aqui está o código do reCaptcha

<script type="text/javascript" src="//leadlovers.com/scripts/capture/capture.js"></script>
<script type="text/javascript">
var llKey = '6LeXOHgUAAAAAP15pXJ-cNVW3smcn0BT_ZnfJkrD';
var llStyles = {
formStyle: 'padding: 15px 0',
inputStyle: '',
labelStyle: 'color: #fff',
buttonStyle: '',
captchaStyle: '',
};
var llLabel = 'reCaptcha inválido. Tente novamente';
var displayChanges = function (form, button, response) {
console.log('response: ', response);
if (response.success === true) {
// Changes for submit form
// ex:
// jQuery(form).find('.loading').fadeOut('fast');
form.find('.labelRecaptcha').fadeOut('fast');
form.attr('submit', true);
form.submit();
} else if (response === 'loading') {
// Changes for loading form
// ex:
// jQuery(form).find('.loading').fadeIn('fast')
console.log('loading');
} else if (!response.success) {
// Changes for error recaptcha response
// ex:
// jQuery(form).find('.loading').fadeIn('fast')
form.find('.labelRecaptcha').fadeOut('fast');
form.find('.labelRecaptcha').fadeIn('fast');
form.removeAttr('loading');
}
}
var llLoadReCaptcha = function () {
var i = 0;
var recaptcha = [];
jQuery(document).find('form').each(function () {
var form = jQuery(this);
if (form.find('input[name=provider]').val() === 'leadlovers' || form.find('#llCaptureForm')) {
// init form leadlovers
// get submit button
button = form.find('input[type=submit]');
if (button.length === 0) {
button = form.find('button[type=submit]');
if (button.length === 0)
button = form.find('button');
}
button.removeAttr('type');
// Insert captcha wrapper before button
jQuery('<div id="captcha_wrapper' + i + '" class="captcha_wrapper" style="' + llStyles.captchaStyle + '"></div>').insertBefore(button);
// Render Captcha
recaptcha[i] = grecaptcha.render(document.getElementById('captcha_wrapper' + i), { 'sitekey': llKey });
// Insert error validation
form.find('.captcha_wrapper').prepend('<label class="labelRecaptcha" style="display: none;text-align: center; color:' + llStyles.labelStyle + '">' + llLabel + '</label>');
// Feature to unique multiple recaptcha forms
form.attr('rll', i);
// Submit form function
button.on('click', function () {
// If recaptcha is checked and true
if (form.attr('submit')) {
return true;
} else if (!form.attr('loading')) {
form.attr('loading', true);
} else if (form.attr('loading')) {
return false;
}
event.preventDefault();
displayChanges(form, button, 'loading');
// Get form id for recaptcha ID
var id = form.attr('rll');
var captcha = grecaptcha.getResponse(recaptcha[id]);
// Make a request to "recaptcha validation"
var http = new XMLHttpRequest();
var url = "https://int.suporte.love/reCaptcha/v2Validate.php";
var params = "captcha=" + captcha;
http.open("POST", url, true);
console.log(captcha);
//Send the proper header information along with the request
http.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
http.onreadystatechange = function () {//Call a function when the state changes.
if (http.readyState == 4 && http.status == 200) {
var response = JSON.parse(this.responseText);
if (response.success) {
form.find('.labelRecaptcha').fadeOut('fast');
form.attr('submit', true);
form.submit();
} else if (!response.success) {
displayChanges(form, button, response);
}
}
}
http.send(params);
})
i++;
//*end* form leadlovers
}
});
}
</script>
<script src="https://www.google.com/recaptcha/api.js?onload=llLoadReCaptcha&render=explicit" async defer></script>



  É isso, terminamos por aqui!
com amor ❤
equipe leadlovers™
Compartilhe!
Share on facebook
Share on twitter
Share on linkedin

Artigos relacionados

Deixe seu comentário

No comment yet, add your voice below!


Add a Comment

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *