我在我的MVC应用程序中使用ReCaptcha。我能够构建此应用程序,但收到错误“reCAPTCHA需要配置公共和私钥” 我已经在Web.Config文件中声明了私钥和公钥。但是同样的错误。有没有办法在Application加载时生成私钥和公钥,这样就没有人可以篡改它。
答案 0 :(得分:2)
答案 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。