0

我在我的 MVC 应用程序中使用 ReCaptcha。我能够构建此应用程序,但收到错误“reCAPTCHA 需要使用公钥和私钥配置”我也在 Web.Config 文件中声明了私钥和公钥。但是同样的错误。有没有办法在应用程序加载时生成私钥和公钥,这样任何人都无法篡改它。

4

2 回答 2

2

您可以在https://www.google.com/recaptcha/admin/create上创建 @millimoose 所指的密钥

记录在这里 https://developers.google.com/recaptcha/intro

于 2013-07-24T14:52:25.670 回答
1

我已经在我们的 MVC4 应用程序中将 reCAPTCHA 与PoliteCaptcha 结合使用了一段时间,这是我当前的工作实现:

网络配置

<appSettings>
     <add key="reCAPTCHA::PublicKey" value="abcdefghijklmnopqrstuvwxyz" />
     <add key="reCAPTCHA::PrivateKey" value="abcdefghijklmnopqrstuvwxyz" />  
</appSettings>

注册用户.cshtml

确保您在页面顶部有 using :

@using PoliteCaptcha

根据触发时验证码出现的位置,这将呈现 HTML:

@Html.SpamPreventionFields()

然后在@Scripts此页面的部分中,我使用扩展助手,但您可以直接引用脚本:

@section Scripts
{    
   @Html.SpamPreventionScript()
   @Scripts.Render("~/bundles/jqueryval")  
}

注册用户控制器.cs

然后注释当您想验证它是否是真实用户时调用的方法:

[HttpPost, ValidateSpamPrevention]
public ActionResult RegisterUser(RegisterUserModel request)
{
    // ...
}

如果页面交互触发了验证码,那么Model.IsValid会返回false这里,然后会显示生成的HTML @Html.SpamPreventionFields

于 2013-07-24T15:51:30.250 回答