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 ответа:
Флуд - это другая проблема, чем спам. Вы определенно должны построить логику вокруг ограничения скорости в вашем приложении, вы можете сделать это с помощью проверки, чтобы проверить, что пользователь, например, не разместил более 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