Il est si facile:
- Accédez à votre panneau d'administration google reCaptcha
- Ajoutez
localhost& 127.0.0.1aux domaines d'un nouveau site comme l'image suivante.

Mettre à jour:
Si votre question est de savoir comment configurer le reCaptchasite Google pour l'utiliser dans localhost, je l'ai écrit ci-dessus, mais si vous êtes curieux de savoir comment vous pouvez utiliser reCAPTCHAà la fois localhost et website hostpar des codes minimaux dans votre contrôleur et empêcher certains codes comme ConfigurationManager.AppSettings["ReCaptcha:SiteKey"]celui-ci, alors Je vous aide avec cette description et ces codes supplémentaires dans ma réponse.
Aimez-vous les actions GET et POST suivantes?
Il prend en charge reCaptcha et n'a besoin d'aucun autre code pour gérer reCaptcha.
[HttpGet]
[Recaptcha]
public ActionResult Register()
{
// Your codes in GET action
}
[HttpPost]
[Recaptcha]
[ValidateAntiForgeryToken]
public ActionResult Register(RegisterViewModel model, string reCaptcha_SecretKey){
// Your codes in POST action
if (!ModelState.IsValid || !ReCaptcha.Validate(reCaptcha_SecretKey))
{
// Your codes
}
// Your codes
}
En vue: ( référence )
@ReCaptcha.GetHtml(@ViewBag.publicKey)
@if (ViewBag.RecaptchaLastErrors != null)
{
<div>Oops! Invalid reCAPTCHA =(</div>
}
Pour l'utiliser
A) Ajoutez les éléments suivants ActionFilterà votre projet Web:
public class RecaptchaAttribute : FilterAttribute, IActionFilter
{
public void OnActionExecuting(ActionExecutingContext filterContext)
{
var setting_Key = filterContext.HttpContext.Request.IsLocal ? "ReCaptcha_Local" : "ReCaptcha";
filterContext.ActionParameters["ReCaptcha_SecretKey"] = ConfigurationManager.AppSettings[$"{setting_Key}:SecretKey"];
}
public void OnActionExecuted(ActionExecutedContext filterContext)
{
var setting_Key = filterContext.HttpContext.Request.IsLocal ? "ReCaptcha_Local" : "ReCaptcha";
filterContext.Controller.ViewBag.Recaptcha = ReCaptcha.GetHtml(publicKey: ConfigurationManager.AppSettings[$"{setting_Key}:SiteKey"]);
filterContext.Controller.ViewBag.publicKey = ConfigurationManager.AppSettings[$"{setting_Key}:SiteKey"];
}
}
B) Ajoutez les reCaptchaclés de paramètres pour les deux localhostet websiteaimez-les dans votre webconfigfichier:
<appSettings>
<!-- RECAPTCHA SETTING KEYS FOR LOCALHOST -->
<add key="ReCaptcha_Local:SiteKey" value="[Localhost SiteKey]" />
<add key="ReCaptcha_Local:SecretKey" value="[Localhost SecretKey]" />
<!-- RECAPTCHA SETTING KEYS FOR WEBSITE -->
<!--<add key="ReCaptcha:SiteKey" value="[Webite SiteKey]" />
<add key="ReCaptcha:SecretKey" value="[Webite SecretKey]" />-->
<!-- OTHER SETTING KEYS OF YOUR PROJECT -->
</appSettings>
Remarque: De cette façon, vous n'aviez pas besoin de définir le reCaptcha_SecretKeyparamètre dans l' action de post ou n'importe quel ViewBagpour reCaptcha manuellement dans vos actions et vues, tous seront automatiquement remplis au moment de l'exécution avec les valeurs appropriées selon que vous avez exécuté le projet sur l'hôte local ou le site Web .😉