Sangat mudah:
- Buka panel admin google reCaptcha Anda
- Tambahkan
localhost
& 127.0.0.1
ke domain situs baru seperti gambar berikut.
Memperbarui:
Jika pertanyaan Anda adalah cara mengatur reCaptcha
di situs Google untuk menggunakannya di localhost, maka saya telah menulis itu di atas tetapi jika Anda ingin tahu bahwa bagaimana Anda dapat menggunakan reCAPTCHA
pada kedua localhost
dan website host
oleh kode minimal di controller Anda dan mencegah beberapa kode seperti ConfigurationManager.AppSettings["ReCaptcha:SiteKey"]
di kemudian Saya membantu Anda dengan deskripsi dan kode tambahan ini dalam jawaban saya.
Apakah Anda suka tindakan GET dan POST berikut?
Ini 👇 mendukung reCaptcha dan tidak memerlukan kode lain untuk menangani 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
}
Dalam Tampilan: ( referensi )
@ReCaptcha.GetHtml(@ViewBag.publicKey)
@if (ViewBag.RecaptchaLastErrors != null)
{
<div>Oops! Invalid reCAPTCHA =(</div>
}
Untuk menggunakannya
A) Tambahkan yang berikut ActionFilter
ke proyek Web Anda:
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) Tambahkan reCaptcha
kunci pengaturan untuk keduanya localhost
& website
suka di webconfig
file Anda :
<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>
Catatan: Dengan cara ini Anda tidak perlu mengatur reCaptcha_SecretKey
parameter dalam tindakan posting atau apa pun ViewBag
untuk reCaptcha secara manual dalam Tindakan dan Tampilan Anda, semuanya akan diisi secara otomatis saat runtime dengan nilai yang sesuai tergantung pada Anda telah menjalankan proyek di localhost atau situs web .😉