В 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?