Вопрос

В рельсах есть много плагинов Captchas, а также много типов решений для предотвращения спама и наводнения. Так что это не только вопрос о рельсах.

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

1. Классическое изображение капча (Zendesk's Captcha, Simple_captcha, validates_captcha, Капча Уинтона, Raptcha).

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

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

негатив:

  • Требуется таблица БД (по крайней мере, простой капча. Не так уж плохо, но они чистит его после использования?).
  • Требуется Rmagick или аналогичный (не такой актуальный для меня, как у меня уже есть на моем сайте).
  • Руководство по сбое Decrypt (изображения $ 2/1000, как я знаю).
  • Раздражает пользователей и может повредить коэффициентам конверсии.

2. Recaptcha (Recaptcha, Rack-Recaptcha).

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

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

негатив:

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

3. Медовые горшки (Отрицательная капча, TRAP_DOOR, REAVE_CAPTCHA, Honeypot-Captcha, Bouncy_bots, Invisible_captcha).

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

  • Пользователь не знает о преподавании Captcha.
  • Не требует таблицы Rmagick и DB.

негатив:

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

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

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

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

негатив:

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

5. Другое (ACTS_AS_SNOK)

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

  • Пользователь не знает о преподавании Captcha.
  • Не требует таблицы Rmagick и DB.

негатив:

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

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

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

  • Пользователь не знает о преподавании Captcha.
  • Не требует таблицы Rmagick и DB.

негатив:

  • Сделайте API-звонки на участке 3-й части.
  • Доставить данные пользователя на 3-й части сайта (очень, очень плохо).

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

Это было полезно?

Решение

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

Что касается каптхов, любой из выбранных вами плагинов, скорее всего, будет отличным. Я бы не стал думать о необходимости установить Rmagick как позитивный или негативный, на самом деле не так сложно работать. Если бы я выбирал, мой первый инстинкт - пойти с Recaptcha, это наименее раздражает их всех.

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

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

Другие советы

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top