it-swarm-pt.tech

Podemos fazer melhor que o CAPTCHA?

Existem várias formas diferentes de CAPTCHA e outras estratégias para evitar spam. Para listar brevemente alguns:

  • Matemática simples ou perguntas do Word.
  • Texto ofuscado.
  • CAPTCHAs baseados em JavaScript.
  • Image CAPTCHAs.
  • Honeypots.
  • CAPTCHAs de áudio.
  • Filtragem baseada em regras como o Akismet.
  • Aumento gradual de privilégios com base na confiança.
  • Moderação da comunidade como StackExchange.
  • Desincentivos de spam, como atributos nofollow para links.
  • Incentivos para postar um bom conteúdo.
  • Moderação de administrador.
  • Listas de permissões e listas negras de IP.
  • Vergonha pública e desgraça.

Cada uma dessas abordagens tem obstáculos a serem superados devido a problemas de acessibilidade, limitações técnicas, restrições de tempo, problemas de conversão ou tamanho da comunidade. Os sistemas que eu vi funcionar melhor são uma combinação de várias das técnicas acima. No entanto, não posso deixar de sentir que estamos perdendo algo importante quando se trata de combater o spam.

Sei que pode ser demais desejar uma solução única, mas talvez a prevenção contra spam possa ser abordada de um ângulo diferente. Suspeito que possa haver mais a explorar em termos de como a interface do usuário influencia o comportamento humano.

Acho que ter restrições geralmente aciona a criatividade, então dadas as seguintes restrições, podemos criar novas ferramentas para adicionar ao nosso arsenal contra spam na perspectiva da interface do usuário?

  1. Deve ser acessível.
  2. Ele deve ser ininterrupto e transparente para o usuário final.
  3. Não pode prejudicar ou desviar o objetivo principal da página.
  4. Ele deve ser automatizado ou requerer muito pouca moderação em larga escala.
  5. Não pode ser um serviço de terceiros.
46
Virtuosi Media

Gostaria de saber se podemos explorar algumas das propriedades físicas que diferem entre pessoas reais usando navegadores e spambots.

As duas propriedades que me vêm à mente são sequência e ritmo .

Sequência: Uma pessoa real fará o download de uma página antes de enviar um comentário; alguns spambots saltam direto para o envio de um formulário.

Podemos detectar se já entregamos o formulário a esse usuário e rejeitamos envios onde eles não fizeram o download do formulário?

Ritmo: Uma pessoa real normalmente leva alguns segundos a alguns minutos para inserir seu comentário antes de clicar em enviar; um spambot pode baixar a página e enviar imediatamente o comentário de spam.

É razoável rejeitar envios que ocorrem muito rapidamente (digamos, <2 segundos) ou muito lentamente (digamos,> 24 horas)?

22
Bevan

Embora isso pareça uma resposta irreverente, o XKCD realmente tinha uma solução conceitual para esse problema, encontrada aqui: http://xkcd.com/810/ . Em resumo, a alternativa é ler um comentário do usuário não relacionado e, em seguida, indicar se o comentário é construtivo ou não construtivo. Esse recurso tem o bônus de impedir que as pessoas publiquem comentários como "isso é péssimo" e coisas do gênero. Isso pode ou não ser desejável com base no seu caso de uso pretendido, mas eu sei que gostaria de ver menos deles.

Esta solução tem alguns problemas, como, por exemplo, como você cria um conjunto básico de comentários construtivos/não construtivos que podem ser usados ​​como o conjunto de testes. Alguém deve revisar esses comentários manualmente primeiro, o que não atende ao seu 4º requisito, ou você deve criar algum tipo de sistema para exibir comentários "pendentes" para usuários verificados (digamos 50 vezes) para obter um consenso sobre o "correto" responda. Obviamente, isso pressupõe que o que você está tentando usar alternativas CAPTCHA para proteger seja um sistema de comentários e que você tenha usuários suficientes gerando comentários (ou acesso a um conjunto de comentários não relacionados) para ter uma linha de base real.

Editar: enquanto meu cérebro estava envolvido (ainda não tomei meu chá), dependendo da duração dos comentários, você pode exibir mais de um comentário para ser indicado como construtivo ou não, o que permite que você apresente perfeitamente o "pendente" "comentários aos usuários para alcançar seu consenso sobre esse comentário sem que alguém sinta que precisou fazer um trabalho extra.

6
Josef Schelch

Acabei de ler um artigo muito interessante sobre o assunto há alguns dias. Tem alternativas criativas, você deve conferir

http://webdesignledger.com/tips/why-you-should-stop-using-captchas

6
Pam Rdz

Ter dinheiro é humano

A solução mais eficaz que eu já encontrei para diferenciar robôs e pessoas é saber se gastaram ou não dinheiro na Internet.

Para usar um email como um identificador de conta comum para este exemplo. Se você sabe que o e-mail já comprou algum item on-line, seja de você, de um concorrente, da Amazon ou de qualquer mercado digital, você pode estar 100% certo de que ele é humano e não um bot de spam.

Isso funciona hoje e nunca para de funcionar porque o custo de compra de um item sempre excede o valor do spam que pode ser postado posteriormente, tornando o spam não mais economicamente viável.

Isso não é muito factível para muitas pessoas que não operam no comércio eletrônico ou em setores relacionados, mas nas situações em que você tem esses dados, há uma maneira perfeita de identificar se uma pessoa é humana. Não há mais motivos para questioná-los.

4
anthonyryan1

Estou interessado em explorar/revisar este tópico e gostaria de saber se isso poderia funcionar ou não, dada a tecnologia atual:

  1. Os usuários recebem uma imagem do mapa-múndi, onde a imagem pode ser deslocada aleatoriamente horizontalmente na tela a cada vez, para que você possa lembrar a posição geográfica como uma posição coordenada na imagem.

  2. É feita uma pergunta aos usuários "por exemplo, onde você está no mundo no momento" relacionada a uma posição geográfica que pode ser verificada (por exemplo, por meio de um endereço IP ou endereço da máquina).

  3. A entrada do usuário corresponde à imagem e, se as respostas corresponderem, o captcha estará completo.

Eu acho que é rápido, provavelmente pode ser acessível, mas provavelmente ainda requer processamento de javascript. Mas ele depende apenas do processamento do usuário e de respostas muito rápidas e simples que não podem ser simuladas com segurança pelos bots (ou podem?). Também estou explorando algumas idéias com captchas baseadas em gestos, mas não sei se também existem problemas específicos.

2
Michael Lai

A análise da atividade social pode ser útil.

Por exemplo, se alguém conectado ao seu site usando o Facebook se conectar, e você perceber que eles estão registrados há 3 anos, tiver 50 amigos e uma foto do gato na galeria, você poderá solicitar CAPTCHA apenas ocasionalmente.

Pelo contrário, se um usuário foi registrado ontem no Facebook e tem exatamente 256 amigos (está brincando), convém pedir que ele entre no CAPTCHAs nos primeiros 10 dias ou mais.

Obviamente, essa abordagem depende da capacidade do Facebook/Google/etc. para remover contas invadidas rapidamente.

0
Dmitry Grigoryev

E se um pequeno jogo fosse usado como teste? Um quebra-cabeça simples que mantém os usuários entretidos para que eles não percebam que é para prevenção de spam ... como uma versão simplificada de Crayon Physics .

0
user2588