Używanie reCAPTCHA w ASP.NET

Ważne: interfejs API reCAPTCHA w wersji 1.0 nie jest już obsługiwany. Uaktualnij go do wersji 2.0. Więcej informacji

Biblioteka reCAPTCHA ASP.NET to prosty sposób na umieszczenie kodu CAPTCHA w witrynie ASP.NET, co pomaga powstrzymać boty przed jego nadużywaniem. W bibliotece znajduje się interfejs reCAPTCHA API. Możesz używać tej biblioteki w dowolnym języku .NET, w tym C# i Visual Basic .NET.

Aby używać reCAPTCHA w ASP.NET, możesz pobrać bibliotekę ASP.NET reCAPTCHA.

Szybki start

Po zarejestrowaniu się kluczy interfejsu API zapoznaj się z podstawowymi instrukcjami instalowania reCAPTCHA w swojej witrynie z ASP.NET:

  1. Dodaj w witrynie odniesienie do pliku Library/bin/Release/Recaptcha.dll: w menu Visual Studio Website wybierz Add Reference (Dodaj odwołanie) i kliknij kartę .NET. Wybierz komponent Recaptcha.dll z listy komponentów .NET i kliknij OK. Jeśli nie widzisz komponentu, kliknij kartę Przeglądaj i poszukaj pliku zestawu na dysku twardym.
  2. Wstaw element sterujący reCAPTCHA do formularza, który chcesz chronić, dodając następujące fragmenty kodu:

    Na górze strony aspx wstaw ten kod:

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

    Następnie wstaw element sterujący reCAPTCHA wewnątrz tagu <form runat="server">:

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

    Klucz publiczny i prywatny musisz zastąpić odpowiednio kluczem PublicKey i PrivateKey.

  3. Upewnij się, że do weryfikacji formularza używasz walidacji ASP.NET (należy sprawdzić stronę Page.IsValid podczas przesyłania).

Poniżej znajduje się edytor „Hello World” z reCAPTCHA przy użyciu Visual Basic. Przykładowy kod w języku C# jest dołączony do pliku do pobrania z biblioteki.

  <%@ 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>

Dalsza lektura

  • Dostosowywanie wyglądu i stylu
  • Wskazówki i wytyczne
  • Rozwiązywanie problemów