输入错误:k:站点密钥格式无效

时间:2014-04-15 11:39:43

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

我试图将ReCaptcha放入注册表单(ASP.NET MVC)。

@Html.Raw(Html.GenerateCaptcha()) 

我已将ReCaptcha中的私钥和公钥输入Web.config:

<appSettings>
    <add key="ReCaptchaPrivateKey" value="6LcMwPESAAAAAFyxyxyxyxyxyxy"/>
    <add key="ReCaptchaPublicKey" value="6LcMwPESAAAAAGVyxyxyxyxyxyxy"/>
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>

但是它给出了这个错误:

  

输入错误:k:网站密钥格式无效

如何解决这个问题?

PS。我已阅读CoffeeCup解决方案here。但是在ASP.NET中无法以这种方式解决问题。

1 个答案:

答案 0 :(得分:3)

使用此nuget扩展程序,可以在一分钟内轻松实现使用ASP.NET MVC的Recaptcha - Recaptcha for .NET

我能够设置一个并在此处发表相同的博客 - Implementing reCAPTCHA in your ASP.NET MVC Project

以下是相同的摘要......

首先注册并获取您的公钥和私钥。 (这一步你似乎已经完成了)

安装&#34; Recaptcha for .NET&#34;使用NuGet包管理器,请确保下载下面屏幕截图中显示的那个,因为有很多其他同名的用户。 http://yassershaikh.com/wp-content/uploads/2014/04/step2-recaptcha-nuget-aspnetmvc.png

将Recaptcha控件添加到MVC视图

打开Views/Account/Register视图并将其添加到页面顶部

@using Recaptcha.Web.Mvc

并使用以下剃刀代码包含recaptcha表单

<li>
    @Html.Label("Some label to go here")
    @Html.Recaptcha()
</li>

在控制器/操作中验证用户对Recaptcha挑战的响应

下一步是在 controller / action 中配置recaptcha,首先在控制器文件中导入以下命名空间(本例中为AccountController)

using Recaptcha.Web;
using Recaptcha.Web.Mvc;

接下来,转到Register方法并使用以下代码

RecaptchaVerificationHelper recaptchaHelper = this.GetRecaptchaVerificationHelper();

if (String.IsNullOrEmpty(recaptchaHelper.Response))
{
    ModelState.AddModelError("", "Captcha answer cannot be empty.");
    return View(model);
}

RecaptchaVerificationResult recaptchaResult = recaptchaHelper.VerifyRecaptchaResponse();

if (recaptchaResult != RecaptchaVerificationResult.Success)
{
    ModelState.AddModelError("", "Incorrect captcha answer.");
}

以下是recaptcha表单在我使用上述代码设置的注册页面上的显示方式。

enter image description here

希望这会有所帮助。