rails-выбор плагина captcha [закрыт]


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

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

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

позитив:

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

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

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

2. ReCaptcha (Recaptcha, Rack-recaptcha).

позитив:

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

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

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

3. Мед pots (Negative-captcha, Trap_door, Reverse_captcha, Honeypot-captcha, Bouncy_bots, invisiblee_captcha).

позитив:

  • пользователь не знает о существовании капчи.
  • не требует Rmagick и DB таблицы.

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

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

4. Text-base (Гуманизатор, Brain_buster, Попался).

позитив:

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

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

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

5. Другое (Acts_as_snook)

позитив:

  • пользователь не знает о существовании капчи.
  • не требуется Rmagick и DB стол.

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

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

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

позитив:

  • пользователь не знает о существовании капчи.
  • не требуется Rmagick и DB стол.

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

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

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

2 26

2 ответа:

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

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

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

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

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

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

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

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

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