Introduzidos no início dos anos 2000, os CAPTCHAs incomodam os usuários há décadas. Desde encontrar imagens de um ônibus até inserir uma estranha sequência de letras ou resolver problemas de matemática, há muitas maneiras pelas quais os sites pedem que você prove que não é um robô.
Mas você já se perguntou como o CAPTCHA funciona e por que os sites o forçam a resolvê-los?
O que é CAPTCHA?
CAPTCHA significa teste de Turing Público Completamente Automatizado para diferenciar computadores e humanos. Como o nome sugere, ele distingue entre humanos e computadores.
O conceito básico do CAPTCHA depende da falta de inteligência do computador para reconhecer padrões. Um computador pode reconhecer letras, mas não nos casos em que elas estão alteradas ou apresentam muito ruído de fundo. Os seres humanos, por sua vez, são programados por gerações para detectar e identificar padrões como um mecanismo de segurança.
Tipos de CAPTCHA
CAPTCHA vem em vários tipos, alguns deles são:
1. CAPTCHA de imagem baseada em texto
O CAPTCHA baseado em texto usa um conjunto de palavras ou frases ou uma combinação aleatória de diferentes letras, números e símbolos. Representa uma sequência de personagens de forma alienada e um pouco difícil de interpretar.
Isso inclui distorção, rotação, inversão, oscilação, estilo de capitalização e sobreposição com caracteres adjacentes. Para aprimorar essa técnica, um CAPTCHA pode incluir gráficos como linhas, arcos ou pontos de forma aleatória, espalhados por toda a imagem.
2. Áudio CAPTCHA
O CAPTCHA de áudio serve como uma alternativa aos CAPTCHAs baseados em texto e atende a usuários com deficiência visual. Audio CAPTCHA apresenta uma gravação de áudio de uma sequência de letras ou números que o usuário deve digitar corretamente. Novamente, há distorção, desta vez na forma de ruído de fundo adicionado. Uma coisa interessante a se notar é que o módulo Python CAPTCHA só funciona com números.
3. Imagem CAPTCHA
Os CAPTCHAs de imagem são uma alternativa aos CAPTCHAs de imagem baseados em texto. Estes são os CAPTCHAs típicos que você enfrentará diariamente.
Esses CAPTCHAs solicitam que você identifique um objeto específico, como um barco, caminhão ou hidrante. Eles os apresentam ao lado de outras imagens para escolher. Estes são muito mais amigáveis para humanos do que os testes baseados em texto, bem como mais difíceis para os bots reconhecerem.
4. Matemática, problema de palavras e quebra-cabeça CAPTCHA
Os CAPTCHAs matemáticos geralmente representam um problema aritmético simples, como 17 + 23, 16 * 10 ou 30/10 com elementos gráficos adicionados.
Word Problem CAPTCHA apresenta uma sequência de palavras ou itens relacionados e solicita que você preencha os espaços em branco com a resposta apropriada.
O quebra-cabeça CAPTCHA envolve a resolução de um mini quebra-cabeça, como deslizar uma barra até o comprimento correto para que a peça que falta complete a imagem.
5. Sem CAPTCHA ReCAPTCHA
O Google é dono do ReCAPTCHA, que usa análise de risco avançada e desafios adaptativos para evitar bots. ReCAPTCHA recupera conteúdo do Google Street View, jornais, livros e muito mais.
Sem CAPTCHA O ReCAPTCHA exige que você marque a opção “Não sou um robô” sem pedir que você faça nenhum teste. Isso é possível porque ele rastreia os movimentos e identifica o clique. Uma coisa a notar é que O ReCAPTCHA captura suas informações privadas também.
Você pode criar um Formulário de validação CAPTCHA usando HTML, CSS e JS bem como usando o módulo Python CAPTCHA.
O módulo Python CAPTCHA
O Python vem com um módulo fantástico chamado CAPTCHA que ajuda você a criar imagens baseadas em texto e CAPTCHAs de áudio em instantes. Embora o módulo forneça um estilo de fonte e voz embutidos, você pode usar sua voz e dados de fonte para personalizar ainda mais os CAPTCHAs.
Para instalar o módulo CAPTCHA em seu ambiente Python, abra a janela Terminal e digite:
pip instalar CAPTCHA
Como gerar um CAPTCHA de imagem baseado em texto usando Python
Todo o código-fonte para gerar imagem baseada em texto personalizado e CAPTCHA de áudio está disponível neste Repositório GitHub.
Você pode seguir estas etapas para criar um CAPTCHA de imagem baseado em texto usando Python:
- Importar o ImageCaptcha módulo situado em captcha.image.
# importando as bibliotecas necessárias
de captcha.image importar ImageCaptcha - Especifique uma largura e altura personalizadas para o seu CAPTCHA e crie uma instância dele.
# especifique as dimensões
imagem = ImageCaptcha (largura = 300, altura = 100) - Pegue uma sequência de caracteres como entrada do usuário usando o entrada() função para convertê-lo em um formato CAPTCHA baseado em texto.
# digite o texto para criar seu captcha
captcha_text = input("Por favor, digite o texto: ") - Passe o texto que você recebeu do usuário para o image.generate() para criar o CAPTCHA.
# gera o captcha baseado em texto
data = image.generate (captcha_text) - Passe o texto do CAPTCHA e o nome do arquivo de imagem junto com sua extensão para image.write() para salvar a imagem gerada CAPTCHA.
# salve o arquivo de imagem captcha
image.write (captcha_text, (captcha_text) + ".png")
Saída de CAPTCHA de imagem baseada em texto usando Python
Uma das melhores características deste módulo é que ele gera o mesmo texto em diferentes cores, estilos e distorções. Estes são alguns dos exemplos gerados.
Este é mais um design fascinante gerado pelo mesmo programa.
Como gerar um CAPTCHA de áudio usando Python
Siga estas etapas para criar um CAPTCHA de áudio usando Python:
- Importar o AudioCaptcha módulo de captcha.audio.
# importando as bibliotecas necessárias
de captcha.audio importar AudioCaptcha - Crie uma instância de AudioCaptcha().
# criando uma instância de áudio
áudio = AudioCaptcha() - Tome dígitos como entrada do usuário usando o entrada() função para criar seu áudio CAPTCHA.
# número de captcha de áudio, por exemplo: 32135
captcha_text = input("Por favor insira o número: ") - Passe o texto que você recebeu do usuário para audio.generate() para criar o CAPTCHA.
# gere o captcha baseado em áudio
audio_data = audio.generate (captcha_text) - Passe o texto do CAPTCHA e o nome do arquivo de áudio junto com sua extensão para audio.write() para salvar o CAPTCHA de áudio gerado.
# salve o arquivo de áudio
audio.write (captcha_text, "áudio"+captcha_text+'.wav')
Se você digitar os números 970322, este programa de áudio CAPTCHA irá gerar um audio970322.wav arquivo que fala os dígitos em sequência com um monte de ruído de fundo.
Os muitos usos do CAPTCHA
A principal função de um CAPTCHA é prevenir spam e abuso por bots em um site. Eles ajudam a manter a precisão das pesquisas on-line, impedindo que os bots as inundem com respostas negativas. Eles agem como uma camada de proteção contra ataques de força bruta e restringem o número de vezes que um usuário tenta fazer login em um site.
O CAPTCHA também pode ajudar a evitar comentários automatizados e pode ajudar a proteger os gateways de pagamento com sua dificuldade de resolver.