Captcha asp.net mvc

Programming
Предыдущий Следующий

captcha Я очень не люблю вводить CAPTCHA на разных сайтах, но как программисту приходиться прикручивать такой контрол к сайтам. Когда было поставлена такая задача, то свою капчу писать лень, искал в интернет и нашел. Очень простая в использовании Captcha Mvc.

Итак, как прикурить ее к сайту. Для начала воспользуйтесь сервисом nuget. Для mvc3 команда:
PM> Install-Package CaptchaMvc.Mvc3

Для mvc4 команда:
PM> Install-Package CaptchaMvc.Mvc4

В ваш проект будет добавлена библиотека CaptchaMvc.dll

 Следующим шагом вам нужно прописать маршруты, которые будут формировать картинку. Добавляем к Route команды:

routes.MapRoute("Captcha", "DefaultCaptcha/Generate", new { controller = "DefaultCaptcha", action = "Generate" });

routes.MapRoute("CaptchaRefresh", "DefaultCaptcha/Refresh", new { controller = "DefaultCaptcha", action = "Refresh" });

Потом в для ваших view Включаем пространство имен @using CaptchaMvc.HtmlHelpers. Далье в самом html в нужно для капчи месте добавляем код:

обычная капча:
Html.Captcha("Обновить", "Введите защитные символы:", 5, "Обязательное поле", true)

математическая капча:
Html.MathCaptcha("Обновить", "Введите результат операции:", "Обязательное поле", true)

На сервер я проверяю, правильно ли человек ввел код:

        [HttpPost]
        public ActionResult Index(string empty)
        {
            if (this.IsCaptchaValid("Captcha is not valid"))
            {
                TempData["Message"] = "Message: captcha is valid.";
                return View();
            }

            TempData["ErrorMessage"] = "Error: captcha is not valid.";
            return View();
        }

  • В 6/9/2014 4:14:46 PM, Аноним

    HI jack

  • В 6/10/2014 1:26:49 PM, Аноним

    Не работает, говорит, что не может найти определение для IsCaptchaValid

  • В 6/10/2014 1:41:00 PM, Аноним

    Не работает, картинку видно, но проверку не производит. Не видно ссылку обновления картинки. Страница перезагружается вместе с картинкой.

  • В 6/10/2014 6:48:36 PM,

    нужно в контроллер вверху прописать using CaptchaMvc.HtmlHelpers;

  • В 2/16/2015 2:53:02 PM, Аноним

    Следующим шагом вам нужно прописать маршруты, которые будут формировать картинку. Добавляем к Route команды: routes.MapRoute("Captcha", "DefaultCaptcha/Generate", new { controller = "DefaultCaptcha", action = "Generate" }); routes.MapRoute("CaptchaRefresh", "DefaultCaptcha/Refresh", new { controller = "DefaultCaptcha", action = "Refresh" }); Зачем?

  • В 2/16/2015 3:37:49 PM,

    Если Вы оставили то правило в маршрутах, которые есть по умолчанию, то разумеется ничего дописывать не нужно.

Самостоятельный отпуск Опыт заказа вывоза мусора в Киеве Магія зміни: Від ночі до дня
Магія Вечірнього Неба: Відлякуйте втомленість дня і зануртеся у світ загадок і краси