私は自分の ASP.NET MVC プロジェクトで Google ReCAPTCHA を使用しています。今、人が間違った言葉を入力した回数または試行した回数を数えたいと思っています。
私を助けてください
私は自分の ASP.NET MVC プロジェクトで Google ReCAPTCHA を使用しています。今、人が間違った言葉を入力した回数または試行した回数を数えたいと思っています。
私を助けてください
簡単な実装では、値をCookieに保存します。
(cshtml /かみそり)
<h2>@ViewBag.Captcha</h2>
@using (Html.BeginForm("Captcha", "Home", FormMethod.Post))
{
@Microsoft.Web.Helpers.ReCaptcha.GetHtml(publicKey: "...")
<input type="submit" value="validate"/>
}
(コントローラ)
public ActionResult Index()
{
ViewBag.Captcha = 0;
return View();
}
public ActionResult Captcha()
{
var valid = Microsoft.Web.Helpers.ReCaptcha.Validate(privateKey: "...");
if (valid)
{
return RedirectToAction("Success");
}
else
{
int failValue = 0;
var failCookie = Request.Cookies["failCount"];
if (failCookie == null)
{
failValue = 1;
failCookie = new HttpCookie("failCount");
failCookie.Value = failValue.ToString();
Response.Cookies.Add(failCookie);
}
else
{
failValue = int.Parse(failCookie.Value);
failValue = failValue + 1;
failCookie.Value = failValue.ToString();
}
ViewBag.Captcha = "Failed " + failValue + " times";
return View("Index");
}
}