Usa reCAPTCHA con ASP.NET

Importante: Ya no se admite la versión 1.0 de la API de reCAPTCHA. Actualiza a la versión 2.0. Más información

La biblioteca reCAPTCHA ASP.NET proporciona una manera sencilla de colocar un CAPTCHA en tu sitio web de ASP.NET, lo que ayuda a evitar que los bots lo abusen. La biblioteca une la API de reCAPTCHA. Puedes usar la biblioteca desde cualquier lenguaje .NET, incluidos C# y Visual Basic .NET.

Para usar reCAPTCHA con ASP.NET, puedes descargar la biblioteca de reCAPTCHA ASP.NET.

Inicio rápido

Después de registrarte para obtener las claves de API, a continuación encontrarás instrucciones básicas para instalar reCAPTCHA en tu sitio con ASP.NET:

  1. Agrega una referencia a tu sitio web a library/bin/Release/Recaptcha.dll: En el menú del sitio web de Visual Studio, selecciona Agregar referencia y haz clic en la pestaña .NET del cuadro de diálogo. Selecciona el componente reCAPTCHA.dll de la lista de componentes de .NET y haz clic en Aceptar. Si no ves el componente, haz clic en la pestaña Explorar y busca el archivo ensamblado en el disco duro.
  2. Inserta el control de reCAPTCHA en el formulario que deseas proteger. Para ello, agrega los siguientes fragmentos de código:

    En la parte superior de la página aspx, inserta lo siguiente:

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

    Luego, inserta el control de reCAPTCHA dentro de la etiqueta <form runat="server">:

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

    Deberás sustituir tus claves pública y privada por PublicKey y PrivateKey, respectivamente.

  3. Asegúrate de usar la validación de ASP.NET para validar tu formulario (debes verificar Page.IsValid cuando lo envíes).

El siguiente es un “Hello World” con reCAPTCHA mediante Visual Basic. Se incluye una muestra de C# con la descarga de la 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>

Material de lectura adicional

  • Cómo personalizar la apariencia
  • Sugerencias y lineamientos
  • Solución de problemas