может ли кто-нибудь сказать мне, как использовать captcha в asp.net mvc? есть ли необходимость скачать какой-либо элемент управления для него?
Как использовать Captcha в asp.net mvc
Ответ 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!)