Como usar o reCAPTCHA com o ASP.NET

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

A biblioteca reCAPTCHA ASP.NET oferece uma maneira simples de colocar um CAPTCHA em seu site ASP.NET, ajudando você a impedir que bots abusem dele. A biblioteca encapsula a API reCAPTCHA. Você pode usar a biblioteca em qualquer linguagem .NET, incluindo C# e Visual Basic .NET.

Para usar o reCAPTCHA com o ASP.NET, você pode fazer o download da biblioteca reCAPTCHA ASP.NET.

Início rápido

Depois de se inscrever para usar suas chaves de API, veja abaixo as instruções básicas para instalar o reCAPTCHA no seu site com o ASP.NET:

  1. Adicione uma referência em seu site à biblioteca/bin/Release/Recaptcha.dll: no menu Site do Visual Studio, escolha "Adicionar referência" e clique na guia ".NET" na caixa de diálogo. Selecione o componente Recaptcha.dll na lista de componentes .NET e clique em "OK". Se você não encontrar o componente, clique na guia Browse e procure o arquivo assembly no disco rígido.
  2. Insira o controle reCAPTCHA no formulário que você quer proteger adicionando estes snippets de código:

    Na parte superior da página do aspx, insira o seguinte:

      <%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %>
    

    Em seguida, insira o controle reCAPTCHA dentro da tag <form runat="server">:

      <recaptcha:RecaptchaControl
        ID="recaptcha"
        runat="server"
        PublicKey="your_public_key"
        PrivateKey="your_private_key"
        />
    

    Será necessário substituir as chaves pública e privada por PublicKey e PrivateKey, respectivamente.

  3. Use a validação ASP.NET para validar seu formulário (verifique Page.IsValid no envio).

Confira a seguir um "Hello World" com o reCAPTCHA usando o Visual Basic. Um exemplo em C# está incluído no download da biblioteca.

  <%@ Page Language="VB" %>
  <%@ Register TagPrefix="recaptcha" Namespace="Recaptcha" Assembly="Recaptcha" %>
  <script runat=server%gt;
      Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs)
          If Page.IsValid Then
              lblResult.Text = "You Got It!"
              lblResult.ForeColor = Drawing.Color.Green
          Else
              lblResult.Text = "Incorrect"
              lblResult.ForeColor = Drawing.Color.Red
          End If
      End Sub
  </script>
  <html>
  <body>
      <form runat="server">
          <asp:Label Visible=false ID="lblResult" runat="server" />
          <recaptcha:RecaptchaControl
              ID="recaptcha"
              runat="server"
              Theme="red"
              PublicKey="your_public_key"
              PrivateKey="your_private_key"
              />

          <asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
      </form>
  </body>
  </html>

Leitura complementar

  • Como personalizar a aparência
  • Dicas e diretrizes
  • Solução de problemas