0

私は自分の ASP.NET MVC プロジェクトで Google ReCAPTCHA を使用しています。今、人が間違った言葉を入力した回数または試行した回数を数えたいと思っています。

私を助けてください

4

1 に答える 1

1

簡単な実装では、値を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");
        }           
    }
于 2013-02-28T14:56:35.013 に答える