Captcha Inverso

51 views
Skip to first unread message

Alessander Thomaz

unread,
Nov 12, 2009, 5:43:34 PM11/12/09
to acesso...@googlegroups.com
Achei sem querer na internet esse link.
http://www.mariosam.com/internet/dicas-de-programador/captcha-inverso-seguranca-em-formularios

Achei interessante, pois sugere ao invés de um captcha para humanos,
colocar um para máquinas.
Assim se colocarmos um campo que não é visível para humanos e algum
programa der um parser no html para preencher os campos, irá preencher
esse campo também e assim veremos que não veio de um humano. Isso sem
usar campos hidden, pois seria muito previsível para a máquina que
lerá a página.
Achei bastante inteligente a idéia e acessível ao mesmo tempo.

Segue abaixo o texto do link que coloquei no topo.

Abraços,
Alessander

Captcha Inverso – Segurança em Formulários
Categoria: Dicas e TruquesPublicado em: 24/01/2009

* Comentários [0]
* Digg it!
* Facebook
* Editar Post

Hoje em dia praticamente todo site, blog, ecommerce, possui um
formuário na página, seja para contato, seja para deixar comentários
na página.

E com isso cresce o número de spammers. E precisamos filtrar os spams.
A partir disso foi criado o conceito de CAPTCHA.

Você provavelmente já utilizou algum. São aqueles campos de
verificação, as vezes um cálculo matemático simples (2+2=), ou uma
imagem distorcida.

Realmente é algo incômodo, principalmente os de imagens, que deixam a
gente confuso entre L e i maiúsculas e minúsculas, ou entre O e 0
(zero).

Pensando nisso foi criado o conceito de Captcha Inverso.

CAPTCHA - Completely Automated Public Turing test to tell Computers
and Humans Apart.

Algo como Teste de Turing público e completamente automático para
distinguir computadores e humanos.

Então não seria mais interessante fazer a pergunta aos computadores ao
invés de perguntar aos humanos? Essa é a idéia do inverso.

Os sistemas dos spammers quando encontram um formulário da web
procuram preencher todos os campos para garantir que serão enviados.

Então, colocaríamos um campo a mais no formulário, que o humano não
pudesse ver, invisível mesmo, e se este campo for preenchido, então
foi feito por algum sistema automatizado (máquina).

Mas importante é fazer essa validação no servidor, server-side, usando
o php ou asp, ou ainda java, depende da sua linguagem favorita. Pois
deixar isso para o javascript não vai garantir validação. Você pode
fazer o teste desabilitando o javascript no seu navegador.

Poderíamos criar um campo type=hidden? Não, simples demais, os
spammers identificariam facilmente.

Poderíamos então ocultar via CSS? Sim, é uma alternativa. Mas deixar como:
view source
print?
1 <div style="display:none"><input ...></div>

Isso também seria identificado pelos spammers muito rapidamente.

Mas se colocassemos o atributo display:none dentro de um arquivo css,
que é importado na página, com um nome sugestivo, ai começa a
melhorar.

.especial ou .obrigatorio{ display:none }

E no seu formulário o campo oculto ficaria algo como:
view source
print?
1 <input type="text" name="mail" id="mail" class="obrigatorio">

Claro que isso não seria a solução definitiva, é apenas uma
alternativa para deixar seu formulário mais amigável aos humanos.

Mas pelo menos só passariam os spammers mais inteligentes.

O interessante é que alternativas estão aparecendo, uma delas pode
acabar evoluindo a ponto de se tornar uma solução definitiva. Vamos
aguardar pra ver.

Sucesso!

Isabela Abrantes da Silveira

unread,
Nov 13, 2009, 2:46:34 PM11/13/09
to acesso...@googlegroups.com
Alessander, eu não acho essa alternativa tão interessante assim, porque estariamos utilizando além de uma técnica de blackhat seo - ainda que não seja a intenção - e estamos fazendo uma gambi incrível.

Se um usuário tiver com o CSS desabilitado, ele vai preencher e não vai conseguir sucesso.

Ainda acho que a melhor alternativa ao CAPTCHA seja exatamente a mais simples: utilizar perguntas simples, mas que as máquinas não podem responder por não entenderem semanticamente as perguntas.

Por exemplo: "Escreva por extenso quanto é 2 + 2" ou "Qual é o dia que vem depois do domingo?"

Ou seja, perguntas banais para as pessoas... extremamente complexas pra máquinas.

Abs!!
Isabela

2009/11/12 Alessander Thomaz <alessand...@gmail.com>

Alessander Thomaz

unread,
Nov 13, 2009, 5:29:42 PM11/13/09
to acesso...@googlegroups.com
Oi Isabela.
Não sei se com CSS seria uma boa, pensei em diversas formas de
sacanear um robot.
Não havia pensado na técnica de black hat, mas sinceramente não vejo
tanto problema assim em usar um black hat desses.

Quanto ao captcha de perguntas simples também não é perfeito.
É a eterna briga de gato e rato. Quanto mais desenvolvem sistemas para
validar a ação de humanos, mais os sistemas para quebrar tais esquemas
se desenvolve. Alguns softwares conseguem quase milagres.

E tais perguntas podem causar problemas para pessoas com discalculia,
dislexia e outros problemas.
Sem contar que até hoje só vi perguntas muito comuns e repetitivas,
até hoje não vi um sistema desses de perguntas simples completamente
inovador. Se conhecer algum por favor compartilhe, eu já procurei
muito e nunca achei.

O ideal mesmo na minha humilde opinião é evitar ao máximo o cadastro
de usuários, e quando for necessário alguma interação via formulários
(e são muitos os casos que são necessários) colocar algum limite de
tempo para uma nova ação, combinado com algum sistema que impeça
repetições em curto espaço de tempo, e outras coisinhas que ajudam a
conter o spam e cadastros massivos.
Mas cada caso é um caso. Eu já pensei muito nesse aspecto, até hoje
não cheguei a uma conclusão interessante, não cheguei a nenhuma
solução que seja acessível e que ao mesmo tempo evite a ação de
scripts.

Abraços,
Alessander






2009/11/13 Isabela Abrantes da Silveira <bela.a...@gmail.com>:
--
Atenciosamente,
Alessander Thomaz
Técnico de Tecnologia da Informação
Instituto Federal de Minas Gerais
http://www.ifmg.edu.br
http://www.cefetop.edu.br
31 3559-2172

Thiago TPC

unread,
Nov 13, 2009, 5:33:07 AM11/13/09
to acesso...@googlegroups.com
Bom Dia!

Alessander, eu já tinha lido há respeito disso há alguns meses atrás. Para completar, gostaria de dizer que apenas colocando um display:none vc protege o formulário de spammers e é bom para quem enxerga ou usa leitor de tela que lê o que aparece na tela.

Entretanto, leitores como o DOSVOX, que lê o código HTML da página independente do CSS lerão o campo e farão o visitante preenchê-lo. Uma alternativa seria adicionar ao input um label com um texto explicando que tal campo não deve ser preenchido e ocultá-lo também pelo CSS.

Só não sei se de fato seria a melhor solução para o caso.

[]s

Thiago


2009/11/12 Alessander Thomaz <alessand...@gmail.com>

Gustavo Gawry

unread,
Nov 13, 2009, 2:54:01 PM11/13/09
to acesso...@googlegroups.com
Eu uso essa tecnica no meu site, porem coloco um label assim. "Caso este campo seja preenchido a mensagem será considerada spam"
No intuito de evitar que um usuário com CSS desabilitado preencha o campo.

:-)


2009/11/13 Isabela Abrantes da Silveira <bela.a...@gmail.com>
Alessander, eu não acho essa alternativa tão interessante assim, porque estariamos utilizando além de uma técnica de blackhat seo - ainda que não seja a intenção - e estamos fazendo uma gambi incrível.



--

Gustavo Gawry
Interaction Designer
Mobile: +55 21 9498-7923
Email: gustavogawry at gmail.com
Website: http://gawry.com
LinkedIn: www.linkedin.com/in/gawry
Twitter: @gawry

Narmer Abouhassan

unread,
Nov 13, 2009, 7:36:55 PM11/13/09
to acesso...@googlegroups.com
Fiquei com uma dúvida, e por exemplo no caso de um leitor de tela que não interprete o CSS? Como a Isabela disse "fail". Fica uma dúvida e se alguém puder me responder... O Dosvox ou o jaws ignora o CSS?

Grato,
Narmer Abouhassan
http://www.narmer.com.br
e-Mail: nar...@gmail.com
Google Wave: nar...@googlewave.com
Celular: 61 9227 8890
http://twitter.com/narmera
MSN: nabou...@hotmail.com
Skype: narmera


2009/11/13 Isabela Abrantes da Silveira <bela.a...@gmail.com>
Alessander, eu não acho essa alternativa tão interessante assim, porque estariamos utilizando além de uma técnica de blackhat seo - ainda que não seja a intenção - e estamos fazendo uma gambi incrível.

Narmer Abouhassan

unread,
Nov 13, 2009, 9:17:14 PM11/13/09
to acesso...@googlegroups.com
Mas será que dar esse aviso não é mais complicado que o velho captcha? Acho que neste caso a roda está sendo reinventada... Ou não?  Me desculpem, mas sinceramente não entendi a real funcionalidade. Os robos já ao capazes de ler os captchas? ou a grande questão é não utilizar o javascript ou outra linguagem?


Grato,
Narmer Abouhassan
http://www.narmer.com.br
e-Mail: nar...@gmail.com
Google Wave: nar...@googlewave.com
Celular: 61 9227 8890
http://twitter.com/narmera
MSN: nabou...@hotmail.com
Skype: narmera


2009/11/13 Gustavo Gawry <gustav...@gmail.com>

MAQ

unread,
Nov 22, 2009, 7:22:35 PM11/22/09
to acesso...@googlegroups.com

Oi Alessander, boa noite.

Para leitores de tela, digo, para todos que utilizam leitores de tela,
confunde bastante se não houver algo como... "não preencha esse campo", pois
para vocês que não enxergam é fácil passar, para nós que leremos um campo
de edição vazio, ficamos perdidos e é possível que acabemos preenchendo com
algo que acabemos por interpretar que devemos. Colocar fora da tela dá no
mesmo. Tem de haver um recado avisando para não preencher que é um campo
para robots.

Abraços atrasados do MAQ.
***
Bengala Legal - Cegos, Inclusão e Acessibilidade: www.bengalalegal.com
Acessibilidade Legal - Sites Acessíveis para todos:
www.acessibilidadelegal.com
***
P. S.: Você está recebendo um e-mail de uma pessoa cega. Isto é inclusão
digital! Comemore conosco.
Uma sociedade inclusiva é aquela que reconhece, respeita e valoriza a
diversidade humana.
MAQ - Rio de Janeiro - CEL: (21) 9912-0000.
***

MAQ

unread,
Nov 22, 2009, 7:45:17 PM11/22/09
to acesso...@googlegroups.com
 
Oi Isabela, boa noite.
 
Em meu blog "Bengala Legal":
 
eu coloquei um captcha assim e até hoje os spams que eu disse para ele que eram spams foram bloqueados. Mas existe um processo que você tem de aprovar, rejeitar ou dizer que é spam... pois o comentário  vem para você. Não sei como isso ficaria em sites de grande porte, dizem que alguma coisa passa.
 
Mas, para simples mortais como nós, com menos de 3000 visitas por dia, não percebi problemas.
 
Abraços pensativos do MAQ.
***
Bengala Legal - Cegos, Inclusão e Acessibilidade: www.bengalalegal.com
Acessibilidade Legal - Sites Acessíveis para todos: www.acessibilidadelegal.com
***
P. S.: Você está recebendo um e-mail de uma pessoa cega. Isto é inclusão
digital! Comemore conosco.
Uma sociedade inclusiva é aquela que reconhece, respeita e valoriza a
diversidade humana.
MAQ - Rio de Janeiro - CEL: (21) 9912-0000.
***

MAQ

unread,
Nov 22, 2009, 8:02:43 PM11/22/09
to acesso...@googlegroups.com
 
Oi!
 
O Webvox, do sistema Dosvox, ignora o CSS, imagens e scripts. Já testei esse recurso com o Jaws, que só ignora no CSS o posicionamento de elementos e, sendo assim, o elemento input acaba aparecendo, quando se utiliza fora da tela. Com o hidden eu não sei se ele obedece ou não, alguém tem aí algum para eu testar?
 
O Virtual Vision também lê fora da tela, quando a invisibilidade é feita por CSS. Aliás, o NVDA também... Pensando bem mesmo... TODOS LÊEM FORA DA TELA, talvez o hidden seja obedecido apenas pelo Jaws.
 
Agora: que desenvolvedores de acessibilidade vocês são que não aprendem a navegar com um leitor de telas para tirarem suas próprias dúvidas?
 
Qualquer hora dessas vou propor ensinar a vocês como navegar com esses caras, mas se vocês treinassem, dava certo!
 
Vou procurar as teclas de atalho de cada um para vocês, que acham? Acho que vocês achariam fácil na internet, até já foi colocado aqui por uma amiga do RS, acho que de Caxias... pode colocar novamente?
 
Vocês acabam ficando tudo na teoria!
 
Abraços amigos do MAQ.
***
Bengala Legal - Cegos, Inclusão e Acessibilidade: www.bengalalegal.com
Acessibilidade Legal - Sites Acessíveis para todos: www.acessibilidadelegal.com
***
P. S.: Você está recebendo um e-mail de uma pessoa cega. Isto é inclusão
digital! Comemore conosco.
Uma sociedade inclusiva é aquela que reconhece, respeita e valoriza a
diversidade humana.
MAQ - Rio de Janeiro - CEL: (21) 9912-0000.
***
----- Original Message -----
Sent: Friday, November 13, 2009 10:36 PM
Subject: [Acesso Digital] Re: Captcha Inverso

MAQ

unread,
Nov 23, 2009, 8:01:28 AM11/23/09
to acesso...@googlegroups.com
 
Oi!
 
Um carinha chamado MAQ escreveu:
 
"Agora: que desenvolvedores de acessibilidade vocês são que não aprendem a navegar com um leitor de telas para tirarem suas próprias dúvidas?
 
Qualquer hora dessas vou propor ensinar a vocês como navegar com esses caras, mas se vocês treinassem, dava certo!
 
Vou procurar as teclas de atalho de cada um para vocês, que acham? Acho que vocês achariam fácil na internet, até já foi colocado aqui por uma amiga do RS, acho que de Caxias... pode colocar novamente?
 
Vocês acabam ficando tudo na teoria!"
 
Esse carinha foi duro demais?
Briga com ele, bate nele, chô!
 (risos).
 
Abraços do carinha. MAQ.
 

Norberto Sousa

unread,
Nov 23, 2009, 7:28:36 AM11/23/09
to acesso...@googlegroups.com
Isso dos normovisuais utilizarem leitores de ecrã durante alguns minutos parece-me que é pedir muito oh Maq.
É quase a mesma coisa que pedir aos designers que façam páginas acessíveis!
lol
Abraço
NSousa

Narmer Abouhassan

unread,
Nov 23, 2009, 8:44:24 AM11/23/09
to acesso...@googlegroups.com
concordo com o Norberto... Ao desenvolver uma página, aplico sim muitas teorias e tento trabalhar algo que seja bom para todos, mas atender a cada necessidade, uma por uma é impossível. Desenvolver uma página para alguns browsers já é difícil, tem aplicações que funcionam em um e em outro não. Se tiver que testar em um por um vou perder mais tempo testando do que realmente trabalhando. Fora o fato que o designer tem valor, e quando chega o leiaute o diretor de arte está se lixando para o código, quer ver apenas o que foi criado no ar. No meu caso em particular, travo guerras ferrenhas para tentar criar página "Semânticas", os designers querem sítios animados e por aí vai... Flash, JQuery e mais...

Narmer

2009/11/23 Norberto Sousa <nsous...@gmail.com>

MAQ

unread,
Nov 23, 2009, 12:35:10 PM11/23/09
to acesso...@googlegroups.com
 
Oi Narmer, boa tarde.
 
Entendo perfeitamente o que você e inúmeros colegas desenvolvedores passam. No entanto, caso você não teste suas páginas em inúmeros navegadores, hoje em dia, no mínimo, IE6 e 7, quem sabe o 8, e Firefox... você vai perder simplesmente inúmeros clientes e não terá boa reputação como profissional. Eu faço isso com ajuda de terceiros, porque a renderização do CSS das páginas em cada navegador é diferente. Vamos supor que você está fazendo um site para um cliente que vá ter aproximadamente 5000 visitas/dia. Caso você não teste sua página no Firefox, pode perder, no mínimo, por baixo, uns 700 visitantes/dia. Se seu cliente estimar 50.000  visitas/dia, poderá perder a bagatela de 7000 visitas/dia. Com o IE6, que ninguém gosta de testar e tem raiva de quem usa, vai perder em torno de 30% do total... Vai juntando tudo que você não testa porque o designer está pouco se lixando para você, porque o cliente não olha para o seu código e tudo mais... pode ter certeza que quanto mais visitas aparecerem nos sites feitos por você com qualidade... mais gente vai gostar do seu trabalho, um dia vão notar que tem muita gente entrando etc.
 
Éramos 16 milhões de pessoas com deficiência visual, segundo o IBGE de 2000, sendo que 178 mil de cegos e o restante de baixa visão, com perdas variadas. Junta surdos, deficiências motoras que precisam de acessibilidade e posso te afirmar que é muita gente.
 
Você pode fazer tudo na teoria, seria como eu fazer tudo sem ver e sem pedir ajuda a quem enxerga. Como você faz, fica na torcida que dê certo?
 
Caso você faça dessa forma, será mais um entre os demais que fazem assim, que destaque terá? Crescer exige sacrifícios e trabalho, mas pode ter certeza que pode não ser hoje ou amanhã, mas que aparece, te garanto, aparece.
 
Norberto, nos cursos que damos, antes de ensinar qualquer técnica de acessibilidade, mostramos como navegar com leitores de tela, um em cada computador e para cada aluno.. A descoberta para quem enxerga é fantástica, pois todos sempre imaginam como é, mas não conhecem exatamente como seja. E tem mais, depois de navegar com o leitor de tela e o monitor ligado... o bacana da história é justamente desligar o monitor! Conforme vocês de Portugal escrevem... lol.
 
O curso específico da Acesso Digital  são ensinados 3 leitores de tela. Penso que isso possa ser revisto, pois é melhor, em minha opinião, aprender bem um, que mais ou menos 3 leitores e, mesmo assim, aquele um que aprender tem de treinar muito depois, pois esquecer é fácil.
 
Sei que é exigir demais  para quem enxerga aprender  a utilizar leitores de tela para testarem páginas web. No entanto, quando se pega a prática fica tudo mais fácil, acaba virando cultura, prática cotidiana e o tempo que se gasta fica menor. Toda novidade é mais difícil. Entretanto, por saber das dificuldades dos profissionais é que escrevo  e depois re-escrevo pedindo desculpas. Mas sabe qual a consequência dos desenvolvedores que fazem acessibilidade  não conhecerem uma das ferramentas de testes? Pedem a nós para fazer e aí... acabamos dando o peixe pescado e não ensinando a pescar.
 
Por falar nisso, Norberto, você sabe utilizar os leitores? lol!
 
Abraços provocativos a todos. MAQ.
Obs: saindo de fininho pela porta da esquerda, camuflado de designer! (risos).  
Reply all
Reply to author
Forward
0 new messages