Rails - Выбор плагина CAPTCHA [закрыто
-
24-10-2019 - |
Вопрос
В рельсах есть много плагинов 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