Ошибка ввода: 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. Убедитесь, что вы скачали тот, который показан на скриншоте ниже, поскольку было много других с таким же именем.
Добавьте элемент управления 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 на моей странице регистрации, где я настраивал, используя приведенный выше код.
Надеюсь это поможет.