Я не робот: 10 альтернатив reCAPTCHA

28.05.20. Час прочитання - 6 хв

До травня 2020 року понад 5 мільйонів вебсайтів встановили віджет reCAPTCHA, серед них більш як 1 мільйон використовує останню невидиму версію — reCAPTCHA v3. Цей інструмент захищає веб сервіси від інтернет-ботів, але не завжди влаштовує власників і користувачів.

Основні мінуси reCAPTCHA — це проблеми з конфіденційністю даних, дизайном віджета, який рідко поєднується зі стилем сайту, і залученням користувачів до навчання нейромереж. І навіть після виходу Invisible reCAPTCHA, яка працює в невидимому для користувачів режимі, питання конфіденційності залишаються відкритими.

Правда, віджети з пошуками світлофорів, мостів і гідрантів навряд чи скоро забудуться: вони давно стали героями мемів.

Отже, чим можна замінити reCAPTCHA?

Ви все ще не застраховані від збору інформації про Вас та Вашого девайсу, але для багатьох ці віджети виглядають приємніше і вирішувати їх зазвичай простіше. Ось кілька прикладів.

MTCaptcha

Розробники заявляють, що це розумний і красивий спосіб зупинити ботів. І це справді так. Ви можете підібрати капчу з дизайном, який не буде вибиватися із загального стилю. Однак у всіх випадках віджет MTCaptcha лаконічний і чіткий:

Як і у випадку з reCAPTCHA v3, є невидима версія. На головній сторінці можна ознайомитися з порівнянням характеристик MTCaptcha і reCAPTCHA.

Capy

Якщо хочеться чогось оригінальнішого, підійде Capy. Ця лаконічна за своїм дизайном капча пропонує користувачеві перемістити відсутній фрагмент пазла так, щоб вийшла цілісна картинка:

Власна капча

Навіть найгрубша самописна капча дозволить захиститися від більшості спам-ботів. Річ у тім, що боти налаштовані на ті капчі, які вже вміють обходити. Якщо Ваша капча унікальна, комусь доведеться дуже постаратися, щоб написати індивідуальний алгоритм обходу. Не те щоб це було складно, але якщо зловмисник не ставить собі за мету заспамити саме Ваш сайт — він, швидше за все, плюне на цю затію.

Припустимо, Ви продаєте майки. Покажіть набір іконок і попросіть користувача клікнути по синій майці. Для захисту від простого перебору можна генерувати завдання випадковим чином, додавати іконки, що процедурно генеруються, etc.

Найприємніше те, що капчу можна зробити тематичною. Коли сайт з майками просить вибирати майки, а сайт з котами — котів, це виглядає куди краще світлофорів. Та й про порушення конфіденційності можна забути.

CMS плагіни

Ви можете скористатися готовими плагінами різних CMS, не вдаючись до reCAPTCHA. Ми вибрали кілька найбільш популярних.

Really Simple CAPTCHA

Лаконічний віджет, який встановили понад 800 000 користувачів WordPress:

Однак творці Really Simple CAPTCHA попереджають, що назва плагіна говорить сама за себе: він дуже простий, в тому числі й для пошукових роботів. Надійний тільки в тандемі з іншими інструментами безпеки.

Hidden CAPTCHA

Варіант прихованої капчі у вигляді плагіна для Drupal:

Близько 8000 користувачів Drupal встановили Hidden CAPTCHA.

OSOLCaptcha

OSOLCaptcha — це простенький варіант для тих, чий сайт на Joomla!: блокує ботів, нормально виглядає і легко читається:

Solve Media

Вас цікавить додаткова монетизація ресурсу? Тоді вибирайте Solve Media — капчу, яка об'єднала банерну рекламу й антиспам-сервіс в одному віджеті:

Працює на більшості популярних CMS, серед яких vBulletin, WordPress, MediaWiki, Drupal, Joomla!, MyBB і інші.

Інші інструменти захисту від ботів

Honeypot-пастки

Додайте на сайт одне або кілька прихованих полів. Живий користувач їх не бачить і не може заповнити, так що, якщо вони заповнені — перед нами бот. Для посилення захисту цей метод можна комбінувати з іншими.

Форма введення на JavaScript

Більшість спам-ботів примітивні. Найчастіше вони навіть не намагаються виконувати JS-скрипти, тому створення простої форми введення на JS їх відсіче. Але метод не спрацює, якщо у Вас багато користувачів з відключеним JavaScript. У такому випадку потрібно або взагалі відмовитися від цього способу, або паралельно використовувати щось ще.

Двофакторна аутентифікація

А ось ще одна альтернатива reCAPTCHA. Підтвердження по email або SMS розв'яже проблему зі спамом на 100%. Однак запит такого підтвердження при кожному відвідуванні сайту або дії на ньому стомлює. Використовуйте двофакторну аутентифікацію точково, наприклад тільки при реєстрації або авторизації користувача.

Висновок

Будь-яке з цих рішень захищає від різних спамерських пошукових роботів не гірше, ніж reCAPTCHA, але при цьому позбавлене її недоліків. Спробуйте протестувати їх у своїх проєктах, можливо, вони сподобаються Вам більше.

Також хорошим тоном буде забезпечити користувачам конфіденційність за допомогою DNT-функції (Do Not Track), яка дозволить їм відключати відстеження в браузері. Для її використання досить зібрати весь код відстеження в одному місці та обернути в перевірку:

if(!navigator.doNotTrack){
   // Google Analytics та інше відслідковування
}