Close Menu
Código Simples .NETCódigo Simples .NET
    Facebook X (Twitter) Instagram
    Trending
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    • Por que escalar escrita é tão mais difícil do que escalar leitura?
    • MongoDB Analyzer para .NET: Visualize e otimize suas consultas de forma simples
    • Cardinalidade: O Conceito que Transforma o Desempenho de Bancos de Dados SQL e NoSQL
    Facebook X (Twitter) Instagram
    Código Simples .NETCódigo Simples .NET
    Código Simples .NETCódigo Simples .NET
    Home»Dicas»Google lança versão “invisível” do reCAPTCHA!

    Google lança versão “invisível” do reCAPTCHA!

    Jhonathan SoaresBy Jhonathan Soares10 de março de 20172 Mins Read Dicas
    Share
    Facebook Twitter LinkedIn WhatsApp Copy Link
    Desde o lançamento de No CAPTCHA reCAPTCHA, milhões de internautas têm sido capazes de atestar que eles são humanos com apenas um único clique. Agora estamos dando um passo adiante e tornando-o invisível. Usuários humanos serão deixados passar sem ver a caixa de seleção “Eu não sou um robô”, enquanto os suspeitos e bots ainda têm que resolver os desafios. Estamos entusiasmados com isso e espero que você dê uma chance!
    Estas são as palavras da Google, sobre o novo reCAPTCHA, que promete não existir mais a caixa de “Eu não sou um robô”. De fato, isto é verdade e vamos realizar a implementação desde novo captcha agora mesmo!

    Veja o vídeo explicativo:

    Viu só que legal? Bom, chega de teorias e vamos à pratica!

    Irei implementar utilizando Asp.NET MVC, porém o exemplo fica muito fácil para você aplicar à qualquer linguagem!

    Agora vamos criar um par de chaves de API para o seu site em https://www.google.com/recaptch e clicar em Get reCAPTCHA no topo da página e seguir as etapas abaixo para criar uma integração.

    Preencha os dados iniciais para gerar uma chave (veja que eu coloquei o domínio localhost para testar localmente também, porém após validar recomendo que você remova, ou crie chaves específicas para desenvolvimento):

     

    Após a criação, você obterá suas chaves:

    Chaves reCAPTCHA

    Chave do site: é usada para exibir o widget em sua página ou código.
    Chave secreta: pode ser usada como uma comunicação entre seu site e o Google para verificar a resposta do usuário se o reCAPTCHA é válido ou não.

    Agora o próximo passo é exibir o widget reCAPTCHA V3 em seu site.

    @*Adicione a referência do script na sua página:*@
    <script src="https://www.google.com/recaptcha/api.js"></script>
    
    <br />
    <div class="row">
        <div class="col-md-12">
            <form action="/home/validatecaptcha" method="POST" id="formCaptcha">
                      
                <button class="g-recaptcha btn btn-primary btn-lg"
                        data-sitekey="6LcmRhgUAAAAAA9qWEoYj0QMTg71G_CrSQpc-wXt"
                        data-callback="myfunction">
                    Submit
                </button>
            </form>
        </div>
      
        <br />
        <b> Situação :</b> @ViewBag.Message
        
    
    </div>
    
    @*Utilize uma função de callback para submeter o formulário*@
    <script>function myfunction() {
        document.getElementById("formCaptcha").submit();
    }</script>
    

    Você basicamente precisa adicionar a referencia javascript na sua página, e dentro do seu formulário adicionar o botão que o reCAPTCHA lhe fornece.

    Após o click do botão, é gerado um callback, que você precisará implementar com o nome que você quiser. Veja que eu utilizei o callback para dar submit no meu form para a action desejada.

    Veja agora a implementação do lado do servidor:

      [HttpPost]
            public ActionResult ValidateCaptcha()
            {
                var response = Request["g-recaptcha-response"];
                //secret that was generated in key value pair
                const string secret = "COLOQUE SUA CHAVE SECRETA AQUI";
    
                var client = new WebClient();
                var reply =
                    client.DownloadString(
                        string.Format("https://www.google.com/recaptcha/api/siteverify?secret={0}&response={1}", secret, response));
    
                var captchaResponse = JsonConvert.DeserializeObject<CaptchaResponse>(reply);
    
                //when response is false check for the error message
                if (!captchaResponse.Success)
                {
                    if (captchaResponse.ErrorCodes.Count <= 0) return View();
    
                    var error = captchaResponse.ErrorCodes[0].ToLower();
                    switch (error)
                    {
                        case ("missing-input-secret"):
                            ViewBag.Message = "The secret parameter is missing.";
                            break;
                        case ("invalid-input-secret"):
                            ViewBag.Message = "The secret parameter is invalid or malformed.";
                            break;
    
                        case ("missing-input-response"):
                            ViewBag.Message = "The response parameter is missing.";
                            break;
                        case ("invalid-input-response"):
                            ViewBag.Message = "The response parameter is invalid or malformed.";
                            break;
    
                        default:
                            ViewBag.Message = "Error occured. Please try again";
                            break;
                    }
                }
                else
                {
                    ViewBag.Message = "Valid";
                }
    
                return View("Index");
            }
    

     

    No próprio site do recaptcha, ele fornece informações da implementação que você precisa fazer do lado do servidor. Resumidamente você precisa fazer uma requisição para a url de verificação do captcha, passando sua chave e você receberá um Json com os dados da resposta.

    Um grande abraço!

    Coloque suas dúvidas nos comentários, vamos nos ajudar! 😉

    Share. Facebook Twitter LinkedIn Telegram WhatsApp Copy Link
    Jhonathan Soares
    • Website
    • Facebook
    • X (Twitter)
    • LinkedIn

    Criador do blog Código Simples e com mais 15 anos de experiência em TI, com títulos de MVP Microsoft na área de Visual Studio Development, Neo4j Top 50 Certificate, Scrum Master e MongoDB Evangelist.

    Posts Relacionados

    Como a Uber calcula o tempo estimado de chegada

    Tecnologia 20 de março de 20258 Mins Read

    Entendendo mais sobre protocolos de rede

    Tecnologia 9 de junho de 20247 Mins Read

    Porque é tão difícil emplacar uma cultura de dados?

    Boas práticas Tecnologia 31 de março de 20246 Mins Read
    Newsletter

    Digite seu endereço de e-mail para receber notificações de novas publicações por e-mail.

    Junte-se a 25mil outros assinantes
    Posts recentes
    • NewSQL em 2025: O Estado Atual, Tendências e o Futuro dos Bancos de Dados Relacionais Escaláveis
    • 12 Regras Essenciais para Reduzir a Latência de Aplicações
    • Cache Hit Ratio: Como uma Simples Métrica Pode Revolucionar sua Arquitetura
    • Como a Uber calcula o tempo estimado de chegada
    • 30 APIs Gratuitas para desenvolvedores
    Categorias
    • Arquitetura (14)
      • Testes (2)
    • Asp.net (120)
      • C# (89)
      • Mvc (13)
    • Banco de dados (90)
      • NoSql (58)
      • Sql (38)
    • Boas práticas (29)
      • Gestão & Produtividade (1)
      • Metodologias Ágeis (6)
    • Cursos (52)
    • Dicas (105)
    • Front-End (92)
    • IA (1)
    • Linux (6)
    • NodeJS (4)
    • Post do Leitor (9)
    • Python (5)
    • Seo (12)
    • Tecnologia (30)
      • ITIL (1)
      • Padrões de Projeto (4)
    • Testes (2)

    VEJA TAMBÉM

    Cursos
    12 de fevereiro de 20166 Mins Read

    1000 livros gratuitos sobre programação!

    Olha que dica bacana! A pagina só com livros sobre programação é mantida no GitHub…

    30 APIs Gratuitas para desenvolvedores

    Facebook X (Twitter) Instagram LinkedIn

    Type above and press Enter to search. Press Esc to cancel.

    Vá para versão mobile