Ответ 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(); } }
Удачи!