Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hcfpastel

Robôs burlando Captcha em Formulário

Recommended Posts

Bom dia, gente..

 

Bem... desenvolvi um componente onde uso captcha e está funcionando perfeitamente...

 

A lógica que usei foi a seguinte:

 

- Tenho um arquivo que gera o código, cria uma SESSION com este código, escreve o código no captcha e retorna a imagem.

- Via jQuery.load() eu carrego na div do formulário o arquivo que gera o captcha (Ajax)

- Na hora da validação, eu faço com Ajax, para verificar se o que foi digitado no campo Código é igual ao que foi gerado na SESSION..

 

Se sim, depois de validar todos os campos, dou o submit no form, que envia o conteúdo para uma function responsável pela validação server-side do form e o cadastro do mesmo caso tudo esteja OK...

 

A questão é...

Quase todo dia está aparecendo aqueles códigos chatos gerados por robôs...

 

estou usando a classe CaptchaSecurityImages.php para gerar o captcha.. está tudo OK...

 

Mas mesmo assim, ainda têm robôs que estão conseguindo burlar o sistema...

Já não sei mais como fazer pra resolver isso...

 

Uma coisa que pensei é que, os robôs estejam usando leitores de tela... e façam a validação das letras que estão geradas no captcha (por não estarem distorcidas, e serem razoavelmente fáceis de ser interpretadas, tanto por humanos como por robôs um pouco mais bem programados...

 

então... uma solução seria distorcer o captcha como este aqui, ó:

http://www.trainingleader.com.br/artigos-sobre-lideranca-autoconhecimento-motivacao-layr-malta/136-lideranca-e-autoconhecimento#addcomments

 

onde as letras ficam meio que 'grudadas' uma na outra...

Dei uma olhada na documentação da biblioteca GD... mas não conseguí ainda descobrir um método dessa biblioteca que distorce o que é escrito na imagem, etc...

 

Dei uma fuçada no código fonte desse componente aí que gera o captcha (este site que mostrei é em Joomla, e foi eu que desenvolvi ele completamente).. esse componente para comentários aí é o JComments... mas não fui muito feliz em meus testes... hauihaiuhiauh

 

O captcha que estou falando no caso é este aqui, ó:

http://www.trainingleader.com.br/mural-de-recados

 

Cliquem em "Clique aqui para deixar um Recado no Mural"...

 

Fui eu que desenvolví este componente aí... o captcha funciona corretamente.. mas os marditos robôs estão burlando o sistema...

 

 

Outra coisa que não estou conseguindo é criar algo para atualizar (ajax) a imagem captcha...

Em tese está tudo OK.. faço via jQuery, dou um load() na div da imagem com o arquivo que gera o captcha.. mas sempre aparece o mesmo.. mas isso é outra história..

 

 

então... se alguém tiver uma dica de como melhorar a segurança do captcha, etc.. dá um help aí..

Pois estou procurando isso faz tempo.. mas até agora não encontrei um jeito de melhorar satisfatoriamente a segurança desse captcha aí..

Obrigado desde jáh...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução mais rápida: usar um script de Captcha reconhecidamente seguro.

 

Solução mais trabalhosa: baixar um script de Captcha reconhecidamente seguro, estudar, aprimorar e implementar as melhorias no seu componente. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, li sobre isso nesta semana, nao lembro aonde, mas a solucao foi usar um input escondido via css, algo assim:

 

<input type="text" name="vazio" value="" style="display:none" />

 

como os robots preenchem todos os campos, entao eh nessas que eles se estrepam, pois o humano nao vai preencher este campo escondido, mas o robot sim, entao:

if ($_POST['vazio']!="")
   nao cadastra os dados  
     else {
       cadastra
          }

Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara a questão é que os robôs não lêem o que tá escrito no captcha! Como o Jao Batista Neto explicou, eles pegam a imagem do seu captcha e as utilizam em outros sites, maioria das vezes ---ográficos! Exemplo:

 

O cara é dono de um site ---ô! Aí ele desenvolve esse robô para ficar fazendo muitos cadastros em vários sites! Quando o robô entra no SEU site e se depara com o captcha ele copia a imagem! Aí uma pessoa acessa o site do cara que criouo robô, aí vamos supor que ela tenha que digitar o que tá escrito no captcha para ver o vídeo! Nisso a imagem carregada no captcha é a que o robô trouxe! Assim que o cara termina de digitar e dá um submit, o robô copia o que tá escrito e colam o campo do captcha no SEU site! Assim eles têm acesso!

 

Uma saída é a que o felipebmfaria sugeriu, mas existem outras, várias outras! Por exemplo(essa é maluca):

 

Assim que a pessoa entrar nessa página com o captcha você pode criar um cookie com um tempo de expiração de 3 minutos! Ou seja, quando a pessoa der o submit você verifica se o cookie existe, se existir cadastra, se não existir não cadastra! Porque o robô leva mais de 3 minutos com certeza para obter o que tá escrito no seu captcha através do método que eu citei! Mas o tempo de expiração varia de acordo com o tamanho do formulário!

 

Boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Solução mais rápida: usar um script de Captcha reconhecidamente seguro.

 

Solução mais trabalhosa: baixar um script de Captcha reconhecidamente seguro, estudar, aprimorar e implementar as melhorias no seu componente. ;)

 

Cara.. é exatamente isso que fiz... essa classe Captcha que estou usando peguei de uma bem famosa que tem por aí.. já vi em diversos sites...

 

 

E falcao544... eu não tinha pensado em como os robôs trabalham nesse sentido aí, véi..

Vix... O captcha que gero, armazeno o código em uma SESSION... vou ver então esse negócio de trabalhar usando cookie.. pra que ele possa expirar com tempo limitado, etc..

 

 

quanto à atualização dinãmica do captcha.. conseguí resolver ontem isso..

Melhorei consideravelmente as validações do cadastro na área administrativa...

 

 

De qualquer forma.. obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.