Подтвердить что ты не робот

Как использовать Captcha в asp.net mvc

может ли кто-нибудь сказать мне, как использовать captcha в asp.net mvc? есть ли необходимость скачать какой-либо элемент управления для него?

4b9b3361

Ответ 1

Надеюсь, что не поздно положить мои два цента в...

Знакомство с MvcReCaptcha

Я столкнулся с такой же проблемой при попытке реализовать проверку CAPTCHA на моем первом сайте MVC MVC. После обнаружения многих библиотек я нашел то, что казалось (и по-прежнему кажется) наиболее эффективной и эффективной библиотекой : MvcReCaptcha.. С тех пор я использовал эту библиотеку для всех моих сайтов MVC ASP.NET.

После реализации MvcReCaptcha он надежно генерирует CAPTCHA в вашем представлении и предоставляет логическое значение того, была ли проверка успешной для действия.


Инструкции по эксплуатации

Здесь, как реализовать его после загрузки и ссылки на DLL MvcReCaptcha из вашего проекта (инструкции, скопированные с домашней страницы MvcReCaptcha):

Использование ReCaptcha с ASP.NET MVC:

Это теперь очень легко настроить ReCaptcha на вашем веб-сайте MVC на Asp.Net.

Регистрация для reCaptcha, http://recaptcha.net/whyrecaptcha.html

Как использовать:

Шаг 1: добавьте свой публичный и частный ключ к вашему файлу web.config в раздел appsettings

<appSettings>
  <add key="ReCaptchaPrivateKey" value=" -- PRIVATE_KEY -- " />
  <add key="ReCaptchaPublicKey" value=" -- PUBLIC KEY -- " />
</appSettings>    

Шаг 2: добавьте новое пространство имен в web.config

<namespaces>
  <add namespace="MvcReCaptcha.Helpers"/>
</namespaces>

Шаг 3. Реализация логики в вашем просмотр фактического отображения Captcha Контроль

<%= Html.GenerateCaptcha() %>

Шаг 4: Внедрение контроллера Действие, которое будет обрабатывать форму подчинение и проверка Captcha

[CaptchaValidator]
[AcceptVerbs( HttpVerbs.Post )]
public ActionResult CreateComment( Int32 id, bool captchaValid )
{
  if (!captchaValid)
  {
      ModelState.AddModelError("_FORM", "You did not type the verification word correctly. Please try again.");
  }
  else
  {
      // If we got this far, something failed, redisplay form
      return View();
  }
}

Удачи!

Ответ 2

Если вам не нравится писать собственный Captcha (кто это делает!), вы можете использовать Captcha-библиотеку, например:

http://www.coderjournal.com/2008/03/aspnet-mvc-captcha/

С помощью библиотеки Captcha вы добавляете DLL в свой проект и используете Captcha API для отображения и проверки изображения Captcha и ввода.

Отобразить Captcha:

<label for="captcha">Enter <%= Html.CaptchaImage(50, 180) %> Below</label><br />
<%= Html.TextBox("captcha") %>

И затем убедитесь, что вы добавили атрибут Captcha в свой метод:

[CaptchaValidation("captcha")]

Recaptcha - это всего лишь один вариант, когда дело доходит до Captcha (на самом деле это опция, выбранная Stack Overflow!)