Es ist so einfach:
- Gehen Sie zu Ihrem Google ReCaptcha-Administrationsbereich
- Fügen Sie
localhost& 127.0.0.1zu Domains einer neuen Site wie im folgenden Bild hinzu.

Aktualisieren:
Wenn Ihre Frage ist , wie setzen reCaptchafür die Verwendung in localhost in Google - Website, dann schrieb ich war es oben , aber wenn Sie neugierig sind , dass , wie Sie verwenden , können reCAPTCHAauf beiden localhost und website hostdurch minimal - Codes in Ihrem Controller und verhindert , dass einige Codes wie ConfigurationManager.AppSettings["ReCaptcha:SiteKey"]in es dann Ich helfe Ihnen mit dieser zusätzlichen Beschreibung und den Codes in meiner Antwort.
Mögen Sie die folgenden GET- und POST-Aktionen?
Es unterstützt reCaptcha und benötigt keine weiteren Codes für die Behandlung von 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
}
In Ansicht: ( Referenz )
@ReCaptcha.GetHtml(@ViewBag.publicKey)
@if (ViewBag.RecaptchaLastErrors != null)
{
<div>Oops! Invalid reCAPTCHA =(</div>
}
Um es zu benutzen
A) Fügen Sie ActionFilterIhrem Webprojekt Folgendes hinzu :
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) Fügen Sie die reCaptchaEinstellungsschlüssel für beide hinzu localhostund websitemögen Sie es in Ihrer webconfigDatei:
<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>
Hinweis: Auf diese Weise mussten Sie weder reCaptcha_SecretKeyParameter in der Post-Aktion noch ViewBagmanuell für reCaptcha in Ihren Aktionen und Ansichten festlegen. Alle Parameter werden zur Laufzeit automatisch mit den entsprechenden Werten gefüllt, je nachdem, ob Sie das Projekt auf dem lokalen Host oder auf der Website ausgeführt haben .😉