Solução de problemas

Importante: não há mais suporte para a versão 1.0 da API reCAPTCHA. Faça upgrade para a versão 2.0. Saiba mais


Não sei onde adicionar o reCAPTCHA

Esse conselho se aplica a todos que estão integrando o reCAPTCHA, independentemente da linguagem.

Primeiro, é necessário identificar dois pontos de acesso no código. Você adicionará as chamadas reCAPTCHA nesses locais.

  • Mostrar reCAPTCHA:o primeiro ponto de acesso é o código que gera o formulário. Esperamos que isso seja fácil de encontrar (procurando uma tag <form> no html) e que você possa exibir o CAPTCHA no seu formulário.

  • Verifique o reCAPTCHA:o segundo ponto de acesso é aquele que parece causar problemas às pessoas. Você precisa identificar o código que processa o envio do formulário, ou seja, o código executado quando o usuário clica em submit. É difícil generalizar sobre a aparência desse código, mas estas dicas podem ajudar:

    • Se o formulário puder exibir uma mensagem de erro (por exemplo, se um campo obrigatório estiver em branco, procure o código que gera essa mensagem de erro).
    • se o seu formulário colocar informações em um banco de dados, procure um código que faça uma inserção de SQL.
    • Se o formulário enviar e-mails, procure o código que faz isso.

    O formulário já tem validação

    A vida será mais fácil se seu formulário já tiver alguma lógica de validação, ou seja, ele processar entradas inválidas do usuário exibindo uma mensagem em vez de executar a ação normal. Se esse for o caso, e você conseguir encontrar o código que faz, está quase em casa. Se o formulário puder exibir uma mensagem de erro, procure o texto da mensagem dentro do código e você com certeza está perto. Depois de encontrar o código de validação, você precisa adicionar uma chamada para a função check_answer, além de outras verificações existentes (endereço de e-mail em branco? idade muito jovem? etc.).

    O formulário não tem validação

    Se não houver nenhuma lógica de validação para seu formulário (se clicar em "Enviar" sempre for bem-sucedido), o problema é mais complicado. Nesse caso, adicione o código de validação reCAPTCHA antes que o código de processamento de formulário atual faça o que for necessário quando o usuário enviar. Você também precisará descobrir como exibir novamente o formulário para dar ao usuário outra tentativa de usar o captcha. Infelizmente, não há uma única resposta para como fazer isso. Isso depende totalmente da estrutura do código que você já tem. Se o código existente não for muito complexo, poste-o no fórum de desenvolvedores de reCAPTCHA e peça aconselhamento. Se você postar lá, inclua informações suficientes para que outras pessoas possam ajudar. Simplesmente dizer "meu código não funciona" normalmente não gera bons resultados.

  • Não está funcionando. Preciso de ajuda!

    Antes de fazer qualquer outra coisa, verifique se você está usando as chaves corretas. Suas chaves pública e privada são trocadas? Você se lembrou de colocar a chave privada no gerenciador de formulários e também a chave pública no formulário?

    O Mailhide usa chaves diferentes do reCAPTCHA baseado em formulário principal.

    Verifique se o formulário usa o método POST ou altere as variáveis do gerenciador de formulários reCAPTCHA para GET em vez de POST.

    Se o reCAPTCHA estava funcionando e você de repente começou a receber a mensagem "Ocorreu um erro interno", você excluiu recentemente a Conta do Google usada para se inscrever nas chaves? Em caso afirmativo, registre-se para novas chaves com uma conta ativa e teste-as.

    O reCAPTCHA está aceitando palavras incorretas

    Os humanos cometem erros e nós entendemos isso. No reCAPTCHA, usamos um mecanismo avançado de análise de risco para determinar se a solicitação recebida é de um ser humano ou não. Quando estamos altamente confiantes de que os usuários são humanos, permitimos que eles cometam pequenos erros.

    Não, palavras *totalmente* incorretas

    Se o reCAPTCHA está aceitando qualquer entrada, você provavelmente não está validando corretamente a resposta reCAPTCHA com os servidores da API. Ou seja: (1) você não está chamando https://www.google.com/recaptcha/api/verify corretamente (ou a função equivalente, se estiver usando um plug-in, como recaptcha_check_answer no PHP) ou (2) você não está tomando a ação adequada da resposta dos nossos servidores. Consulte as instruções específicas que você usou para instalar o reCAPTCHA (seja por um plug-in ou não) para saber como verificar se o usuário inseriu a resposta corretamente.

    Meus usuários estão começando a receber captchas de uma palavra

    O reCAPTCHA nem sempre se resume a duas palavras. É um teste para diferenciar humanos e robôs. Nos casos em que tivermos alta confiança de que você é um ser humano, forneceremos um captcha muito mais fácil (exemplo abaixo). Nosso sistema depende de todo seu engajamento com o reCAPTCHA (antes, durante e depois de resolvê-lo) para decidir se você passa ou não no teste, em vez de apenas na solução.

    Captcha fácil

    Se tiver curiosidade sobre a segurança desses captchas fáceis, consulte nosso blog: http://Termssecurity.blogspot.com/2013/10/recaptcha-just-got-easier-but-only-if.html