Central de Ajuda

Search
Exact matches only
Search in title
Search in content
Search in comments
Search in excerpt
Filter by Custom Post Type

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

 In Componentes, Construtor, Modelos prontos, Páginas

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™