Howdy!

projects / Cloudflare Turnstile та SMS-захист замовлень від ботів

Cloudflare Turnstile та SMS-захист замовлень від ботів

Date

лип 22, 2026

КЕЙС ЗАХИСТУ ІНТЕРНЕТ-МАГАЗИНУ

Cloudflare Turnstile та SMS-захист замовлень від ботів

Для інтернет-магазину було реалізовано багаторівневий захист форми замовлення від ботів, автоматичних запитів, фейкових заявок і масової відправки SMS. Основою рішення стали Cloudflare Turnstile, обов’язкова серверна перевірка токена, SMS-верифікація номера телефону та ліміти запитів за номером і IP-адресою.
Окремим завданням було зберегти зручність для реальних покупців. Основне оформлення через кошик залишилося головною дією, а швидке замовлення з накладеним платежем було перенесено в компактне модальне вікно з поетапним підтвердженням телефону.
Тип сайту: інтернет-магазин
Проблема: боти та фейкові замовлення
Рішення: Turnstile і SMS-верифікація
Формат: індивідуальний модуль захисту
Turnstile перевірка користувача перед відправленням SMS
SMS підтвердження номера перед створенням замовлення
2 рівні ліміти запитів за номером телефону та IP
Server-side обов’язкова перевірка токенів на сервері
Cloudflare Turnstile для захисту замовлень
ПРОБЛЕМА ТА ЗАВДАННЯ

Захист форми замовлення від ботів і зловживання SMS

Інтернет-магазин зіткнувся з автоматичними спробами створення замовлень. Боти надсилали запити через форму, використовували випадкові або чужі номери телефонів і могли багаторазово запускати відправлення SMS. Це створювало фейкові замовлення, зайве навантаження на менеджерів і додаткові витрати на SMS-повідомлення.

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

Завдання проєкту

Зупинити автоматичне створення фейкових замовлень
Захистити від масової відправки SMS на різні номери
Додати Cloudflare Turnstile до форми замовлення
Перевіряти токен Turnstile безпосередньо на сервері
Реалізувати SMS-підтвердження номера перед замовленням
Зберегти простий і зрозумілий процес для реальних покупців

Захищене оформлення без зайвих кроків для покупця

У результаті було створено окремий захищений сценарій замовлення з накладеним платежем. Покупець відкриває компактне модальне вікно, вводить номер телефону, проходить перевірку Cloudflare Turnstile, отримує SMS-код і підтверджує номер. Лише після успішної серверної перевірки система дозволяє створити замовлення.

Перевірка в браузері використовується тільки як частина інтерфейсу. Критичні рішення приймаються сервером: він перевіряє токен Turnstile, правильність SMS-коду, строк його дії, ліміти запитів і одноразовий токен підтвердження.
Ліміти налаштовані одночасно за номером телефону та IP-адресою. Це ускладнює автоматичне повторення запитів, масове використання різних номерів і спроби обійти обмеження через зміну лише одного параметра.
Основна кнопка додавання товару в кошик залишилася головною дією на сторінці. Захищене замовлення з накладеним платежем оформлене як другорядна можливість у popup, тому новий функціонал не перевантажує картку товару та не відволікає від стандартного checkout.
Cloudflare Turnstile із серверною перевіркою токена
SMS-верифікація номера до створення замовлення
Ліміти відправлення SMS за номером телефону та IP
Зручний popup без перевантаження сторінки товару
Захищена форма замовлення:
Захищена форма замовлення: Підтвердження користувача через Cloudflare Turnstile перед відправленням SMS-коду.
SMS-підтвердження номера:
SMS-підтвердження номера: Замовлення створюється лише після успішної серверної перевірки одноразового коду.
Багаторівнева перевірка замість звичайної CAPTCHA
ТЕХНІЧНА РЕАЛІЗАЦІЯ

Багаторівнева перевірка замість звичайної CAPTCHA

Cloudflare Turnstile став першим рівнем захисту, але не єдиним. Після проходження перевірки браузер передає отриманий токен на сервер. Сервер окремо звертається до сервісу перевірки та не довіряє результату, який надходить лише з клієнтської частини сайту.

Після успішної перевірки користувач може запросити SMS-код. Система перевіряє ліміти, строк дії коду та кількість спроб. Після правильного введення коду створюється одноразовий токен підтвердження, який використовується під час фінального відправлення форми.
Серверна перевірка токена Cloudflare Turnstile
Нормалізація та перевірка номера телефону
Ліміти SMS-запитів за номером та IP-адресою
Обмежений строк дії одноразового SMS-коду
Захист від повторного використання підтвердженого токена
Створення замовлення тільки після завершення перевірок
UX ТА АДАПТИВНІСТЬ

Cloudflare captcha не повинна заважати реальному покупцю

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

На комп’ютері поля введення та кнопки мають достатню ширину й розміщуються в логічній послідовності. На смартфоні елементи переходять у вертикальне розташування, popup прокручується всередині та залишається поверх вкладок, меню й фіксованої панелі товару.

Користувач бачить лише потрібну інформацію для поточного етапу: номер телефону, перевірку Turnstile, отримання коду, поле підтвердження та фінальну кнопку замовлення.
Cloudflare captcha не повинна заважати реальному покупцю
FAQ ПРО CLOUDFLARE TURNSTILE

Питання про Cloudflare Turnstile, captcha та SMS-захист форм

Нижче — відповіді на часті питання про налаштування Cloudflare Turnstile, захист форм від ботів, SMS-верифікацію та запобігання фейковим замовленням.
Що таке Cloudflare Turnstile?
Cloudflare Turnstile — це інструмент для перевірки вебзапитів і захисту форм від автоматизованої активності. Він допомагає визначити, чи взаємодіє із сайтом реальний користувач, без обов’язкового показу традиційних завдань із вибором зображень. Turnstile можна додавати до форм входу, реєстрації, зворотного зв’язку, checkout і швидкого замовлення.
Чим Cloudflare Turnstile відрізняється від звичайної captcha?
Традиційна captcha часто просить користувача розпізнавати символи або вибирати зображення. Cloudflare Turnstile аналізує сигнали браузера та взаємодію користувача, тому в багатьох випадках перевірка проходить без складних завдань. Через це технологію також шукають як Cloudflare captcha, хоча Turnstile позиціонується як зручніша альтернатива традиційним CAPTCHA-рішенням.
Чи достатньо просто додати Cloudflare Turnstile до форми?
Ні. Токен, отриманий у браузері, потрібно обов’язково перевіряти на сервері. Якщо сайт лише показує віджет, але не виконує серверну валідацію, бот може спробувати надіслати запит без проходження перевірки. Надійне налаштування Cloudflare Turnstile завжди включає клієнтську та серверну частини.
Навіщо додатково використовувати SMS-підтвердження?
Turnstile перевіряє характер запиту, а SMS-верифікація підтверджує, що користувач має доступ до вказаного номера телефону. Поєднання цих рівнів особливо корисне для форм замовлення, де фейкові заявки створюють витрати на обробку, доставку або комунікацію з неіснуючим покупцем.
Як захистити SMS-форму від масової відправки кодів?
Потрібно встановити серверні ліміти за номером телефону та IP-адресою, обмежити частоту повторного запиту, кількість спроб введення й строк дії коду. Також важливо перевіряти Turnstile до звернення до SMS-сервісу. Обмеження тільки на рівні JavaScript легко обійти прямим запитом до сервера.
Чи можна використовувати Turnstile без перенесення сайту на Cloudflare?
Так, Cloudflare Turnstile можна інтегрувати у форму сайту як окремий сервіс. Для цього не обов’язково переносити хостинг або проксувати весь сайт через Cloudflare. Потрібно створити ключі для домену, додати віджет до форми та налаштувати серверну перевірку отриманого токена.
Чи впливає Cloudflare Turnstile на конверсію форми?
За правильної реалізації вплив мінімальний, оскільки користувачу не потрібно виконувати складні візуальні завдання. Водночас форма має залишатися компактною, зрозумілою та адаптивною. У цьому кейсі захищене замовлення було винесено в popup, щоб стандартне оформлення через кошик залишалося головною дією.
Для яких форм підходить такий захист від ботів?
Рішення можна адаптувати для checkout, швидкого замовлення, реєстрації, авторизації, заявок на послуги, бронювання, запиту розрахунку, відновлення пароля та інших форм. Конкретний набір рівнів захисту залежить від ризиків: іноді достатньо Turnstile, а для замовлень або фінансово важливих дій доцільно додати SMS-верифікацію та серверні ліміти.
Налаштую Cloudflare Turnstile та захист сайту від ботів
ПОТРІБЕН ЗАХИСТ ФОРМИ?

Налаштую Cloudflare Turnstile та захист сайту від ботів

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

Оберіть зручний спосіб звʼязку

Захист форм, замовлень і SMS від автоматизованих запитів

Share: