Ошибка ввода: k: Формат ключа сайта неверен

Я пытаюсь поставить 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 здесь. Но не удалось решить проблему таким образом в ASP.NET.

1 ответ

Решение

Recaptcha с ASP.NET MVC может быть легко реализован за минуту, используя это расширение nuget - Recaptcha для.NET

Я смог настроить один и уже писал о том же здесь - Реализация reCAPTCHA в вашем проекте ASP.NET MVC

Ниже приводится краткое изложение того же....

Сначала вы регистрируетесь и получаете свой открытый и закрытый ключ. (этот шаг вы, кажется, уже сделали)

Установите "Recaptcha для.NET" с помощью диспетчера пакетов NuGet. Убедитесь, что вы скачали тот, который показан на скриншоте ниже, поскольку было много других с таким же именем. http://yassershaikh.com/wp-content/uploads/2014/04/step2-recaptcha-nuget-aspnetmvc.png

Добавьте элемент управления Recaptcha в ваш MVC View

Открыть свой Views/Account/Register просмотреть и добавить это в начало страницы

@using Recaptcha.Web.Mvc

и включите форму рекапчи, используя следующий код бритвы

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

Проверьте ответ пользователя на вызов Recaptcha в вашем контроллере / действии

Следующим шагом является настройка 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 на моей странице регистрации, где я настраивал, используя приведенный выше код.

Надеюсь это поможет.

Другие вопросы по тегам