Налаштування Turnstile (Cloudflare) для захисту форм сайту

Налаштування Turnstile (Cloudflare) для захисту форм сайту

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Налаштування Turnstile (Cloudflare) для захисту форм сайту
Простий
~2-3 години

Наші компетенції:

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1418
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1286
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    983
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1243
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    983
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Розробка веб-сайту для компанії ФІКСПЕР
    998

Налаштування Turnstile (Cloudflare) для захисту форм сайту

Форми на сайтах — головна ціль спамерів. Щодня десятки проєктів тонуть у сотнях фальшивих заявок, ручна модерація відбирає години, а користувачі, втомлені від капч, закривають сторінку. Стандартна CAPTCHA часто стає причиною втрати клієнтів: конверсія на формах падає на 20–40%. Cloudflare Turnstile — альтернатива, яка перевіряє користувача фоново, без жодного кліка. Як показала наша практика, після переходу на Turnstile спам зникає повністю, а конверсія зростає на 15–30%. Turnstile безкоштовний і не вимагає підписки Cloudflare. Ми впровадили його на 47 проєктах за час роботи — середня економія на рік на модерації спаму склала 150 000 гривень за проєкт.

Як Turnstile блокує ботів без капчі

Turnstile аналізує невидимі браузерні сигнали: рух курсора, час завантаження DOM, поведінку під час скролу. Машинне навчання на основі цих даних приймає рішення за 100–300 мс. Користувач бачить лише галочку (або нічого — в Invisible-режимі). Сервер Cloudflare видає токен, який прикріплюється до форми. Жодних завдань «виберіть світлофори» — процес непомітний.

Чому варто обрати Turnstile замість reCAPTCHA?

Характеристика Cloudflare Turnstile Google reCAPTCHA v2/v3
Час верифікації 0.1–0.3 секунди 10–30 секунд
Візуальні завдання Немає Є (картинки/текст)
Для мобільних Відмінно (JS легкий) Важче, може гальмувати
Відстеження для реклами Немає Так (Google профілі)
Ціна Безкоштовно (без лімітів) Безкоштовно (з обмеженнями)

Turnstile не збирає дані для реклами, що важливо для політики конфіденційності. Він не має ліміту на кількість запитів, на відміну від reCAPTCHA, де безкоштовний пакет обмежений 1 млн викликів на місяць. На мобільних пристроях Turnstile дає приріст конверсії до 40% за рахунок відсутності візуального віджета. За часом верифікації Turnstile в 100 разів швидше за reCAPTCHA.

Інтеграція на фронтенді

Turnstile підтримує три режими: Managed (авто), Non-Interactive (галочка) та Invisible (повністю прихований). Базовий HTML-код для вставки у форму:

<script src="https://challenges.cloudflare.com/turnstile/v0/api.js" async defer></script> <form method="POST" action="/submit"> <input type="email" name="email" required> <div class="cf-turnstile" data-sitekey="YOUR_SITE_KEY"></div> <button type="submit">Відправити</button> </form> 

Turnstile автоматично вставляє приховане поле cf-turnstile-response після фонової перевірки. Для ручного контролю використовуйте JavaScript API: turnstile.execute('#widget-id').

Як інтегрувати Turnstile у React?

Зручна обгортка — бібліотека @marsidev/react-turnstile:

import { Turnstile } from '@marsidev/react-turnstile'; function ContactForm() { const [token, setToken] = useState(null); return ( <form onSubmit={handleSubmit}> <Turnstile siteKey={process.env.REACT_APP_TURNSTILE_SITE_KEY} onSuccess={setToken} onExpire={() => setToken(null)} options={{ size: 'invisible' }} /> <button type="submit" disabled={!token}> Відправити </button> </form> ); } 

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

Токен потрібно перевіряти на бекенді — інакше зловмисники підроблять відправку. Приклад на Node.js/Express:

const verifyTurnstile = async (token, remoteip) => { const response = await fetch('https://challenges.cloudflare.com/turnstile/v0/siteverify', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ secret: process.env.TURNSTILE_SECRET, response: token, remoteip, }), }); const data = await response.json(); return data.success === true; }; app.post('/contact', async (req, res) => { const token = req.body['cf-turnstile-response']; const valid = await verifyTurnstile(token, req.ip); if (!valid) { return res.status(422).json({ error: 'Turnstile verification failed' }); } // Обробка форми }); 

Приклад на PHP/Laravel:

$token = $request->input('cf-turnstile-response'); $result = Http::post('https://challenges.cloudflare.com/turnstile/v0/siteverify', [ 'secret' => config('services.turnstile.secret'), 'response' => $token, 'remoteip' => $request->ip(), ]); if (!$result->json('success')) { return back()->withErrors(['captcha' => 'Перевірка не пройдена']); } 

Завжди використовуйте змінні середовища для зберігання secret key.

Серверна верифікація обов'язкова — без неї токен можна підробити: зловмисник надішле форму з фальшивим токеном, і бекенд не зможе відрізнити його від справжнього. Тільки перевірка на стороні сервера гарантує, що токен дійсно був виданий Cloudflare. Це єдиний спосіб гарантувати захист.

Тестові ключі для налагодження

Cloudflare надає спеціальні site key для перевірки:

Site Key Поведінка
1x00000000000000000000AA Завжди проходить
2x00000000000000000000AB Завжди блокує
3x00000000000000000000FF Завжди запитує виклик

Ці ключі не прив'язані до облікового запису — використовуйте їх у розробці без реєстрації.

Що входить у роботу з впровадження Turnstile під ключ

  • Аудит поточних форм — виявляємо вразливості та вузькі місця, визначаємо пріоритети
  • Створення віджета Turnstile в дашборді Cloudflare з вибором відповідного режиму
  • Фронтенд-інтеграція — вбудовування віджета в HTML, React, Vue, Angular або будь-яку CMS
  • Серверна верифікація — реалізація перевірки токена на бекенді (Node.js, PHP, Python, Go, Laravel, Django)
  • Тестування — перевірка на мобільних і десктопах, імітація атак, негативні сценарії
  • Документація та доступи — передача інструкцій з подальшого налаштування
  • Підтримка 14 днів після деплою — моніторинг, виправлення можливих інцидентів

Процес налаштування під ключ

  1. Аудит поточних форм та виявлення вразливостей.
  2. Створення віджета Turnstile в дашборді Cloudflare.
  3. Фронтенд-інтеграція (чистий HTML, React, Vue).
  4. Реалізація серверної верифікації токена.
  5. Тестування на мобільних і десктопах, перевірка негативних сценаріїв.
  6. Деплой у продакшн та моніторинг у першу добу.

Строки

Базова інтеграція займає від 3 до 6 годин. Комплексне налаштування з кастомними правилами та кількома доменами — до 2 днів. Вартість розраховується індивідуально. Зв'яжіться з нами для точної оцінки вашого проєкту.

Типові помилки при впровадженні

  • Відсутність серверної перевірки: токен можна підробити, якщо не верифікувати на бекенді.
  • Хардкод secret key: зберігайте його в змінних середовища.
  • Ігнорування скидання віджета при помилці: викликайте turnstile.reset() перед повторним відправленням.

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