0

我正在使用 google reCaptch 进行 captca 验证,因此我想根据我的应用程序设计进行自定义。我有 google reCaptch 的用户 html 助手。那么如何使用razor html helper在视图中自定义其高度、宽度和其他外观?真的陷入了这个定制问题。

4

1 回答 1

0

我意识到这篇文章有点旧,但我最近做了类似的事情 - 所以我想我可以提供帮助(如果你仍然需要它)

我知道您想使用 Html 帮助程序,但经过广泛研究 - 没有人真正提供此功能。reCaptcha 开发人员指南有一个关于如何实现自己的样式和验证的指南 - 一个好主意是将验证抽象到接口后面以允许正确的测试。

您可以或多或少地从 reCaptcha 文档中复制 HTML 示例,但验证代码看起来(以非常基本的形式)如下所示:

            bool success;
            const string url = "http://www.google.com/recaptcha/api/verify";
            var ip = Request.UserHostAddress;
            var d = new NameValueCollection
            {
                { "privatekey", "6Ld-lN0SAAAAAB1c2Mzgu2pNjkLxn9W07FsAMLgc" },
                { "remoteip", ip },
                { "challenge", Request.Form["recaptcha_challenge_field"] },
                { "response", Request.Form["recaptcha_response_field"] }
            };

            using (var client = new System.Net.WebClient())
            {

                var response = client.UploadValues(url, d);
                var result = Encoding.ASCII.GetString(response);
                success = result.StartsWith("true");
            }
            if (!success)
                ModelState.AddModelError("recaptcha_response_field", "Please enter the correct words");
            else
                Response.Write("CAPTCHA check is valid - we think you are a human");
于 2013-07-18T09:18:09.497 回答