Formulários Mais Seguros Com QapTcha

Formulários mais seguros com QapTcha: exemplo de uso

É bastante comum em sites haver formulários para interações simples, como contato, reclamações, e outros; e existem, também, aqueles formulários mais complexos, como orçamentos, cotações, etc. Independentemente do caso, é importante fazer os corretos tratamentos visando a segurança desses formulários para que a utilização do site e banco de dados não sejam comprometidos.

Dentre as centenas de técnicas possíveis, uma das mais conhecidas e utilizadas no mundo todo é o Completely Automated Public Turing test to tell Computers and Humans Apart, ou como é mais conhecido, CAPTCHA. O CAPTCHA, como deve ser do conhecimento dos desenvolvedores, consiste em apresentar uma imagem com uma série de palavras aleatórias (alguns usam números) e solicitar que se digite o que foi apresentado. Caso se digite o que consta na imagem corretamente, então não se trata de um bot varrendo e testando seu site (pois um robô, teoricamente, não consegue interpretar o que está na imagem para digitar).

Apesar de ter seus pontos fracos, o CAPTCHA tem seu nível de eficiência. Mas eis que surge uma nova maneia de confirmar se quem está interagindo com o formulário é realmente uma pessoa, ao invés de um bot; uma forma de “validar o ser humano” de forma diferente, divertida e inovadora e isso é feito através do plugin para jQuery QapTcha.

Com QapTcha a confirmação dos formulários fica protegida pela obrigação de o visitante ter que usar um controle deslizante (drag & drop) para comprovar que realmente é um ser humano interagindo. Atualmente robôs não conseguem fazer isso, acredite.

O QapTcha cria no formulário um campo oculto de nome “iQapTcha” com um token aleatório. Robôs desse tipo geralmente preenchem todos os campos de formulários automaticamente. Com a interação do slider, o iQapTcha esvazia o valor contido no campo criado automaticamente e salva uma variável de sessão “iQaptcha” com valor “true”. Uma excelente medida de segurança, tenha certeza.

Como usar o QapTcha

Primeiramente, é preciso fazer download do QapTcha e adequar os arquivos que vêm zipados à estrutura de diretórios de seu projeto. Como é de se esperar, faça as chamadas corretas no <head> de seu documento. Dentro da pasta que vem com o plugin, encontram-se os javascripts necessários e uma folha de estilos:


<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery-ui.js"></script>
<script type="text/javascript" src="QapTcha.jquery.js"></script>

Nisso, você vai adicionar uma div de id “captcha” em seu formulário, tal como o exemplo:


<form method="post" action="">
  <fieldset>
    <label>Nome</label> <input type="text" name="firstname" />
    <label>Sobrenome</label> <input type="text" name="lastname" />

    <!-- Adicionar esta div no form -->
    <div id="QapTcha"></div>

    <input type="submit" name="submit" value="Enviar" />
  </fieldset>
</form>

E, no arquivo PHP que o formulário aponta, é preciso realizar os devidos testes com as variáveis criadas pelo plugin:


if(isset($_POST['iQapTcha']) && empty($_POST['iQapTcha']) && isset($_SESSION['iQaptcha']) && $_SESSION['iQaptcha'])
  // ser-humano
}
else
{
  // bot
}

Com toda a “infra-estrutura” terminada, basta inicializar o plugin ao bom e velho estilo simples do jQuery:


$(document).ready(function(){
  $('#QapTcha').QapTcha();
});

Opções do QapTcha

O autor disponibilizou as seguintes opções:

  • disabledSubmitBoolean. Booleano para adicionar a propriedade “disabled” ao botão do form (default “true”).
  • txtLockStringDefault. Texto para quando o form está travado (default “Locked : form can’t be submited”).
  • txtUnLockStringDefault. Texto para quando o form está destravado (default “Unlocked : form can be submited”).

Um exemplo de inicialização do QapTcha utilizando suas opções:


$(document).ready(function(){
  $('#QapTcha').QapTcha({
    disabledSubmit: true,
    txtLock: "Arraste o controle para validar",
    txtUnLock: "Formulário destravado"
  });
});

Conclusão sobre o QapTcha

Sem sombra de dúvidas, uma forma de fazer validação de formulários e protegê-los contra bots que varrem o site é medida indispensável. É possível fazer de várias maneiras, e uma delas é usando esse excelente plugin que coloca uma proteção via slider em seus forms.

O QapTcha é recomendadíssimo, principalmente para sites que queiram passar modernidade e se valerem de recursos interativos chamativos, proporcionando boas experiências a seus visitantes.

Be Sociable, Share!

12 Comentários

  1. Muito bom mesmo… parabéns pela publicação

  2. Parabéns pelo Site! Conteúdos muito interessantes, simples e completos, estou verificando praticamente todos os postos, continuem assim!

  3. Joao Carlos

    Cara muito bom msm,

  4. Só acho que seria ideal, se o posicionamento fosse dinâmico, com um programa de testes de tela, pode-se criar uma rotina para preencher o formulário e arrastar o mouse. É muito mais complicado fazer um algoritmo que entenda uma imagem do que um algoritmo que execute uma ação com o mouse.

    • concordo com o Bargão e o meu chefe que me alertou sobre isso (ele programa em delphi), ele mesmo disse que seria possivel burlar…
      o autor do post tem alguma ideia??
      estou apaixonado pelo Qaptcha e quero ter algum argumento para mante-lo no meu sistema…

      • Olá Lucas! Cada caso é um caso, certo? O QapTcha não é um cofre. Serve para filtrar 99% do SPAM. Eu tenho uma ferramenta que preenche automaticamente o QapTcha da imagem com letras. É esse o mais usado. Se fosse um QapTcha usado apenas em 100 sites, o desenvolvimento da ferramenta não teria sustentação económica. Não fui eu que criei essa ferramenta e nem sequer a uso. É uma ferramenta SEO e basta olhar para o webmaster.pt para perceber que desleixo MUITO o SEO. Mas, a ferramenta existe. Você conhece alguma ferramenta que você pode comprar hoje mesmo e que engana esse QapTcha? Um Abraço! Rui

  5. otimo site gostei muito já esta nos favoritos

  6. Muito bom mesmo !!
    eu ja usava essa tecnica, deixar um campo qualquer fazio, e depois fazia uma validação pra ver se o campo foi preenchido, se for preenchido foi preenchido pelo boot, por esta em modo hidden so um robo pode preencher e se não foi, foi por humnano .

  7. Muito bom esse site. Teria o código adaptado para ASP? Tenho um site que é só ASP e preciso incluir este plugin.
    Obrigado!

  8. o QapTcha não está disponível para download

Participa! Comenta...