65.9K
CodeProject 正在变化。 阅读更多。
Home

Google ReCaptcha 2.0 - ASP.net 控件

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.93/5 (34投票s)

2015 年 3 月 9 日

CPOL

1分钟阅读

viewsIcon

164736

downloadIcon

14734

.Net 控件/封装,用于 Google 新的 ReCaptcha API 2.0

引言

本文提供了一种解决方案,可以将新的 Google Captcha 控件轻松集成到 asp.net 应用程序中。 这是新 ReCaptcha 的屏幕截图

背景

该解决方案基于 Google API 文档,即 https://developers.google.com/recaptcha/docs/display。 它使用自动方式在 ASP.net 页面上渲染 Google reCaptcha。

使用代码

下载附加的 DLL 文件,即“GoogleReCaptcha.dll”,并将其引用到任何 ASP.net 项目。 然后,将此 ReCaptcha 控件的引用添加到 ASP.net 页面,您希望在其中显示 Captcha 控件的位置。

例如

<%@ Register Assembly="GoogleReCaptcha" Namespace="GoogleReCaptcha" TagPrefix="cc1" %>

然后,您可以在需要使用此控件的任何地方使用它,如下所示

<cc1:GoogleReCaptcha ID="ctrlGoogleReCaptcha" runat="server" PublicKey="YOUR_SITE_KEY" PrivateKey="YOUR_SECRET_KEY" />

可以从 Google 获取 captcha 的公钥和私钥,即 https://www.google.com/recaptcha/。 GoogleReCaptcha 控件也可以使用以下代码动态添加到 ASP.net 页面上

GoogleReCaptcha.GoogleReCaptcha ctrlGoogleReCaptcha = new GoogleReCaptcha.GoogleReCaptcha();
protected override void CreateChildControls()
{
    base.CreateChildControls();
    ctrlGoogleReCaptcha.PublicKey = "YOUR_SITE_KEY";
    ctrlGoogleReCaptcha.PrivateKey = "YOUR_SECRET_KEY";
    this.Panel1.Controls.Add(ctrlGoogleReCaptcha);
}

添加 GoogleReCaptcha 控件后,使用上述两种方法之一,新的 Google ReCaptcha 控件将在 ASP.net 页面上渲染。 现在,下一个要求是在表单提交时验证 Captcha 挑战。

验证 Captcha 挑战

为了验证 captcha 挑战,您只需要调用 GoogleReCaptcha 控件的“Validate”方法。 Validate 方法返回布尔值 True/False。 示例代码如下

if (ctrlGoogleReCaptcha.Validate())
{
   //submit form success
   lblStatus.Text = "Success";
}
else
{
    //captcha challenge failed
    lblStatus.Text = "Captcha Failed!! Please try again!!";
}

历史

在此处保持您所做的任何更改或改进的实时更新。

© . All rights reserved.