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

Rails - Выбор плагина captcha

В Rails есть много плагинов для плагинов, а также множество типов решений для предотвращения спама и наводнения. Поэтому вопрос не только о Rails.

Посмотрим, какие типы плагинов у нас есть:

1. Классическое изображение captcha (zendesk Captcha, Simple_captcha, Validates_captcha, winton Captcha, Raptcha).

положительны:

  • Может быть эффективным для предотвращения автоматического расшифровки (не уверен в Simple_captcha, но похоже, что оба zendesk и winton captchas этого не достигают, поскольку они используют предварительно созданные изображения (вместо по требованию), поэтому наш возможный спам боты могут быть изучены на этих изображениях).

отрицательна:

  • Требовать таблицу DB (по крайней мере, простую Captcha. Не так уж плохо, но очищают ли они ее после использования?).
  • Требовать RMagick или подобное (не так актуально для меня, как у меня уже есть на моем сайте).
  • Сбой ручного дешифрования (2/1000 изображений, как я знаю).
  • Раздражает пользователей и может нанести ущерб коэффициентам конверсии.

2. ReCaptcha (Recaptcha, Rack-recaptcha).

положительны:

  • Может быть эффективным для предотвращения автоматического расшифровки.
  • Не требуется таблица Rmagick и DB.

отрицательна:

  • Сделать api-вызовы сторонним сайтом.
  • Отключить ручное дешифрование.
  • Еще более раздражает, чем предыдущий.

3. Медовые горшки (Отрицательный-captcha, Trap_door, Reverse_captcha, Honeypot-captcha, Bouncy_bots, invisible_captcha).

положительны:

  • Пользователь не знает о намерении captcha.
  • Не требуется таблица Rmagick и DB.

отрицательна:

  • Может быть, автоматическое дешифрование (есть ли боты, которые могут распознать эти плагины?).
  • Отключить ручное дешифрование.

4. Текстовая база (Humanizer, Brain_buster, Gotcha).

положительны:

  • Не требуется таблица Rmagick и DB (кроме Brain_buster).

отрицательна:

  • Может завершиться автоматическое дешифрование.
  • Отключить ручное дешифрование.
  • Немного раздражает (может быть локализовано).

5. Другое (Acts_as_snook)

положительны:

  • Пользователь не знает о намерении captcha.
  • Не требуется таблица Rmagick и DB.

отрицательна:

Не знаю, есть ли там, потому что это очень необычно. Но я думаю, что это может вызвать проблемы в случае наводнения, поскольку в некоторых случаях это может потребовать постмодернизации.

6. Akismet-подобные решения (не знают об их эффективности).

положительны:

  • Пользователь не знает о намерении captcha.
  • Не требуется таблица Rmagick и DB.

отрицательна:

  • Сделать api-вызовы сторонним сайтом.
  • Предоставлять детали пользователей стороннему сайту (очень, очень плохо).

Я также должен сказать несколько слов о моем сайте. Пользователи могут видеть защищенную форму только после запроса ajax (например, если положить что-то в корзину). Могут ли современные боты иметь возможность делать ajax-запросы и хранить файлы cookie?

4b9b3361

Ответ 1

Наводнение - это другая проблема со спамом. Вы должны определенно построить логику ограничения скорости в своем приложении, вы можете сделать это с помощью проверки, чтобы проверить, что пользователь, например, не разместил более двух заказов за последние 15 минут.

В отношении captchas любой из выбранных вами плагинов, скорее всего, будет большим. Я бы не подумал, что нужно установить RMagick как положительный или отрицательный, на самом деле не так сложно работать. Если бы это был мой выбор, моим первым инстинктом было бы пойти с recaptcha, это наименее раздражает их всех.

Спам - это еще одна проблема, которую часто вводят пользователи, которые могут обойти ваш captcha. Akismet отлично подходит для ловли спама, определенно взгляните на него, вы можете использовать его в сочетании с чем-то вроде recaptcha.

Наконец, современные боты очень сложны. Намного сложнее, чем кто-либо из нас, вероятно, ожидает. Они могут полностью автоматизировать браузеры, использовать OCR для чтения текста с капчей и создания спам-контента, который будет обходить даже самые сложные фильтры. Тем не менее, речь идет не о "остановке всех спамов/ботов", а о том, чтобы сделать барьер для входа достаточно высоким, чтобы он не стоил этого для обычного пользователя.

Ответ 2

Хороший анализ существующих плагинов.

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

Мне пришлось просеивать все варианты настроек рельсов для проекта, и написал пример приложения для моего клиента для тестирования и тестирования. simple-captcha-demo.heroku.com

Все они были довольно просты в использовании и настройке, и мне нравится использовать героку в качестве тестовой кровати, чтобы быстро настроить что-то, и позволить клиенту проверить ее. Я также написал некоторые из моих впечатлений и gotchas в своем блоге RailsPerformance.com

Могут быть новые плагины, всегда хорошо видеть, что происходит в тренде www.ruby-toolbox.com