将 reCAPTCHA 与 ASP.NET 搭配使用

重要提示:1.0 版 reCAPTCHA API 不再受支持,请升级到 2.0 版。了解详情

reCAPTCHA ASP.NET 库提供了一种将 ASP.NET 网站上的人机识别系统,有助于阻止漫游器 滥用该限制。该库封装了 reCAPTCHA API。 您可以使用任何 .NET 语言(包括 C# 和 Visual Basic .NET)的库。

如需将 reCAPTCHA 与 ASP.NET 搭配使用,您可以下载 reCAPTCHA ASP.NET 库

快速入门

在您注册 API 密钥后,以下是安装 API 密钥的基本说明 使用 ASP.NET 在您的网站上使用 reCAPTCHA:

  1. 在您的网站上添加对 library/bin/Release/Recaptcha.dll 的引用:在 Visual Studio 中 在“Website”菜单中,选择“Add Reference”,然后点击对话框中的 .NET 标签。从 .NET 组件列表中选择 Recaptcha.dll 组件,然后点击“确定”。如果没有看到 点击“浏览”标签,然后在硬盘上找到汇编文件。
  2. 添加以下代码段,将 reCAPTCHA 控件插入您希望保护的表单中:

    在 aspx 页面的顶部插入以下代码:

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

    然后将 reCAPTCHA 控件插入到 <form runat="server">代码中:

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

    您需要将公钥和私钥分别替换为 PublicKey 和 PrivateKey。

  3. 确保使用 ASP.NET 验证来验证表单(提交时应检查 Page.IsValid)。

以下代码是一个“Hello World”与 reCAPTCHA 进行集成。C# 示例是 包含在库下载内容中

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

延伸阅读

  • 自定义外观和风格
  • 提示和准则
  • 问题排查