How to implement Google reCAPTCHA in ASP.NET MVC

By FoxLearn 2/18/2024 1:08:25 AM   82
This post shows how to implement google recaptcha in ASP.NET MVC using C# code.

To integrate Google reCAPTCHA V2 in your websites, you need to go to Google reCaptcha website, then login with your google account.

Next, Choose the reCAPTCHA v2 option, then add your domain in the list of domains

Click Register button, You will get a site key and a secret key.

Open your Manage Nuget Packages, then install ReCaptcha-AspNet or you can install from Nuget command line

Install-Package ReCaptcha-AspNet

Open your web.config under the appSettings section, add your secret and public keys as the following.

<add key="recaptcha-public-key" value="Your public key" />
<add key="recaptcha-private-key" value="Your private key" />

Open your html layout, then modify your code as shown below

@using(Html.BeginForm("Home","Test"){
    @ReCaptcha.GetCaptcha()
    <input type="submit">
}

Create a test action in your home controller

[HttpPost]
public ActionResult Test() {

    string captchaResponse = Request.Form["g-recaptcha-response"];
    if (ReCaptcha.ValidateCaptcha(captchaResponse)) {
        return View();
    }
    // A Bot
    return RedirectToAction("Robot");
}

and don't forget to include the following namespace to your class

using hbehr.recaptcha;