Что такое ReCaptcha? Добавление ReCaptcha на сайт


Для противодействия регистрации на сайтах ботов придумали механизм проверочных кодов (Captcha).

Предполагается, что только человек в состоянии распознать такие изображения, а у роботов возникнут трудности с выполнением этой задачи. Стоит правда заметить, что нередко и у людей возникают проблемы с распознаванием подобных символов. Так вот со временем стали появляться все более умные роботы, способные распознавать все более сложные каптчи. Сейчас одной из самых безопасных каптчей считается reCaptcha — сервис каптчи от Google.

Итак, что же из себя представляет reCaptcha? Как пишет Google, около 200 миллионов каптч распознается людьми каждый день. В каждом случае тратится около 10 секунд человеческого времени, однако если сложить все это время, получается что более 150 000 часов работы тратиться каждый день. ReCaptcha позволяет использовать это затраченное время с пользой для распознавания книг.

Множество проектов занимаются оцифровкой физических книг, которые были написаны до компьютерной эпохи. Эти книги были отсканированны и преобразованы в текст с помощью программ распознавания текста. Проблема в том, что эти программы не совершенны и не могут распознать текст на 100%.

reCAPTCHA позволяет улучшить процесс оцифровки книг отправляя слова, которые плохо распознаются компьютером, в качестве одного из слов каптчи. По второму слову каптчи, сервис reCaptcha определяет, прошел ли пользователь тест или нет. Распознанный пользователем текст передается в дальнейшем еще какому-то количеству пользователей для того, чтобы убедиться в правильности распознания.

Перед установкой сервиса, необходимо получить API-ключи. После получения ключей, установить reCaptcha к себе на сайт можно одним из двух способов:

  • в виде плагина
  • написав код вручную

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

  • PHP
  • Asp.Net
  • Java/JSP
  • другие

так и для готовых движков:

- WordPress - MediaWiki - phpBB - Drupal - vBulletin - Joomla - Joomla Community Builder - и других Перечень плагинов со ссылками для закачки вы можете найти [здесь](https://developers.google.com/recaptcha/intro?hl=ru). Я же расскажу как добавить Recaptcha в ваше Asp.Net MVC приложение. Для начала, получите API-ключи и пропишите их в файле Web.config вашего приложения: ... Затем, установите соответствующий NuGet [пакет](http://nuget.org/packages/recaptcha). Далее, в вашем представлении необходимо отобразить каптчу: @using Recaptcha @Html.Raw(Html.GenerateCaptcha("recaptcha","white")) Первым параметром указывается ID, а вторым — цветовая тема. Есть следующие стандартные темы: -  Красная (red) — это тема по умолчанию - Белая (white) - Черная (blackglass) - Чистая (clean) Доступны также настраиваемые темы. Подробней про настройку внешнего вида можно почитать в [документации ](https://developers.google.com/recaptcha/docs/customization)к Recaptcha. Далее, необходимо добавить атрибут Recaptcha.RecaptchaControlMvc.CaptchaValidator и параметр bool captchaValid в метод регистрации контроллера: [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] [Recaptcha.RecaptchaControlMvc.CaptchaValidator] public ActionResult Register(RegisterModel model, bool captchaValid) { if (!captchaValid) { ModelState.AddModelError("", "Неверно введен проверочный код. Пожалуйста, попробуйте еще раз"); } else if (ModelState.IsValid) { ... } ... } Вот и все!

Наверх