reCAPTCHA需要配置一个公共&私钥

时间:2013-07-24 13:40:30

标签: asp.net asp.net-mvc recaptcha

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

2 个答案:

答案 0 :(得分:2)

您可以在https://www.google.com/recaptcha/admin/create

上创建@millimoose所指的键

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

答案 1 :(得分:1)

我在MVC4应用程序中使用reCAPTCHA与PoliteCaptcha一起使用了一段时间,这是我目前的工作实现:

<强>的Web.Config

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

<强> RegisterUser.cshtml

确保您在页面顶部有一个使用位置:

@using PoliteCaptcha

取决于触发器在触发时的显示位置,这将呈现HTML:

@Html.SpamPreventionFields()

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

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

<强> RegisterUserController.cs

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

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

如果网页互动触发了验证码,则Model.IsValid会在此处返回false,然后会显示@Html.SpamPreventionFields生成的HTML。