【问题标题】:Input error: k: Format of site key was invalid输入错误:k:站点密钥格式无效
【发布时间】:2014-04-16 17:53:32
【问题描述】:

我正在尝试将 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:站点密钥格式无效

如何解决这个问题?

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

【问题讨论】:

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


    【解决方案1】:

    使用这个 nuget 扩展,可以在一分钟内轻松实现带有 ASP.NET MVC 的 Recaptcha - Recaptcha for .NET

    我能够设置一个,并在这里写了同样的博客 - Implementing reCAPTCHA in your ASP.NET MVC Project

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

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

    安装“Recaptcha for .NET”使用 NuGet 包管理器,确保下载下面屏幕截图中显示的那个,因为还有很多同名的。

    将 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;
    

    接下来,转到您的注册方法并使用以下代码

    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 表单的外观。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      • 2021-11-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多