Google ReCaptcha 2.0 - ASP.net 控件






4.93/5 (34投票s)
.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!!";
}
历史
在此处保持您所做的任何更改或改进的实时更新。