Il est si facile:
- Accédez à votre panneau d'administration google reCaptcha
- Ajoutez
localhost
& 127.0.0.1
aux domaines d'un nouveau site comme l'image suivante.
Mettre à jour:
Si votre question est de savoir comment configurer le reCaptcha
site 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 host
par 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 reCaptcha
clés de paramètres pour les deux localhost
et website
aimez-les dans votre webconfig
fichier:
<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_SecretKey
paramètre dans l' action de post ou n'importe quel ViewBag
pour 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 .😉