Войти
Способы подключения

JS-клоака, PHP-лоадер, SDK, Worker и .htaccess: чем отличаются способы подключения

Один и тот же фильтр можно подключить к сайту пятью способами, и от выбора зависит, что увидит робот в исходнике страницы, сколько времени займёт решение и переживёт ли связка кэш. Разбираем каждый способ честно, с его слабыми местами.

Обновлено 22 сентября 20266 мин чтения1159 словBoostRouter KLO

Клоака это не файл и не скрипт, а решение: кому white, кому offer. Файл или скрипт лишь способ доставить это решение на ваш сайт. От способа зависит три вещи: где именно принимается решение, что робот проверки увидит в исходном коде страницы и как связка переживёт кэш и особенности хостинга. Ниже пять вариантов, которыми подключают KLO, и один, которым подключают «клоаку своими руками».

Сводная таблица

СпособГде принимается решениеЧто видит робот в исходникеКому подходитТариф KLO
PHP-лоадерНа сервере до отдачи HTMLТолько HTML белой страницыОбычные лендинги на хостинге с PHPSTART
Обратная PHP-интеграцияНа сервере, со стороны страницы оффераWhite, если зашёл напрямую на офферЗащита прелендинга и оффера от прямых заходовSTART
SDKВ приложении на Node.js или в фреймворкеТолько отрендеренная белая страницаReact, Vue, Next.js, Nuxt, Remix, SvelteKit, FastifySTART
JS-фильтрВ браузере посетителя после загрузки HTMLHTML white плюс сам скрипт фильтраСайты без доступа к PHP: конструкторы, чужой хостингPROFIT
Модуль Keitaro, плагин WordPressВнутри трекера или CMSТолько HTML белой страницыТе, у кого трафик уже идёт через Keitaro или сайт на WordPressPROFIT
Cloudflare WorkerНа границе сети до хостингаТолько HTML белой страницы, на хостинге файлов нетЛюбой стек, максимум скрытностиDOMINATION
.htaccess и свои спискиНа сервере по статическим спискамТолько HTML white, но списки устареваютБелые вертикали, тест идеиБесплатно

PHP-лоадер: стандарт для лендингов

В кабинете KLO вы скачиваете файл лоадера, в него уже вшит ваш секретный ключ. Файл кладётся рядом с лендингом, а входной адрес ведёт на него. При запросе лоадер собирает IP, User-Agent, заголовки и параметры, отправляет их в KLO и за десятки миллисекунд получает решение. Дальше он либо отдаёт файл белой страницы, либо подключает оффер или прелендинг. Адрес в браузере не меняется, редиректа нет.

Что важно: решение принимается до того, как сервер отправил первый байт HTML. Робот получает готовую white и в исходнике не видит ни оффера, ни признаков фильтра. Это же делает PHP-лоадер устойчивым к проверке «покажите исходный код страницы», которую любят делать вручную.

Слабое место одно: нужен хостинг с PHP и доступ к файлам. На конструкторах сайтов и на чужих площадках лоадер не поставить.

Обратная PHP-интеграция: защита оффера с другой стороны

В кабинете KLO рядом с прямой интеграцией есть обратная, тем же файлом index.php. Логика зеркальная: файл ставится со стороны страницы, которую нужно защитить, прелендинга или оффера. Если на неё заходят напрямую, минуя входной адрес кампании, без метки клика и с признаками проверки, файл отдаёт white. Так закрывается частый сценарий: адрес оффера утёк через спай-сервис или через общий доступ в кабинете, и его начали открывать напрямую.

SDK для приложений на JavaScript

Если сайт написан на React, Vue, Next.js, Nuxt, Remix, SvelteKit или работает на Node.js с Fastify, файла index.php у вас нет. Для таких проектов KLO даёт пакет @boostclicks/klo с готовыми адаптерами. Он ставится через npm, а решение запрашивается на стороне сервера при рендеринге: адаптер уже учитывает IP посетителя, метки и выбранный способ доставки оффера. Робот, как и в случае с лоадером, получает только отрендеренную white.

Кабинет KLO, шаг 2 мастера: выбран SDK для React, Vue, Next.js и Node.js
Шаг 2 мастера: SDK, файл скачивать не нужно, токен и код показываются на карточке кампании.

Про фреймворки с клиентским рендерингом. Если приложение целиком рендерится в браузере, решение должно приниматься на сервере, который отдаёт первый HTML, иначе логика уезжает в клиентский код. SDK для Next.js и Nuxt работает именно на серверной стороне.

JS-фильтр: когда PHP недоступен

JS-фильтр это скрипт, который добавляется на страницу и работает уже в браузере посетителя: собирает признаки, включая исполнение JavaScript, размеры экрана, cookies и поведение, запрашивает решение и по нему подгружает оффер. Его плюс в том, что он ставится куда угодно, даже на конструктор без доступа к серверу, и добавляет поведенческие признаки, которых нет у серверного решения.

Кабинет KLO, шаг 2 мастера: выбран тип подключения JavaScript
Шаг 2 мастера: JavaScript, фильтр подключается тегом script.

Минусы принципиальные. Робот получает HTML, в котором виден сам скрипт фильтра. Решение принимается после загрузки страницы, а не до. Робот без исполнения JavaScript просто увидит white, что хорошо, но robot с исполнением JavaScript увидит и работу скрипта. Поэтому JS-фильтр правильно использовать как второй слой поверх серверного решения или как единственный вариант там, где сервера нет. Под VK Рекламу JS-вариант с редиректом на другой домен не подходит: правила VK прямо называют переадресацию признаком подмены.

Модуль Keitaro и плагин WordPress

Оба варианта встраивают решение туда, где трафик уже обрабатывается: в поток трекера или в WordPress до отдачи темы. Для робота они неотличимы от PHP-лоадера: в исходнике только white. Подробно разобрано в отдельных статьях: клоака и Keitaro, клоака для WordPress.

Cloudflare Worker: решение до хостинга

Worker выполняется на серверах Cloudflare до того, как запрос дошёл до вашего сервера. Он запрашивает решение у KLO и отдаёт white или offer под тем же адресом, а на хостинге нет ни лоадера, ни модулей, ни кода клоаки. Подходит к любому стеку и особенно удобен, когда доменов много: один Worker и маршруты на каждый домен. Детали, лимиты Cloudflare и настройка кэша в статье о Worker.

.htaccess и клоака своими руками

Самый старый способ: списки IP и User-Agent в .htaccess или в PHP-условии на лендинге. Запрос от известного робота получает white, остальные оффер. Бесплатно и полностью под контролем. Но у такого решения три системных проблемы, и они не лечатся усердием.

  • Списки устаревают. Google публикует диапазоны IP роботов датированными файлами и меняет их. Meta, ByteDance, Яндекс расширяют сети. Список, собранный полгода назад, пропускает часть проверок.
  • Нет признаков кроме IP и UA. Проверка без подписи с обычного браузера из облака проходит любой статический список.
  • Нет статистики. Вы не узнаете, кто прошёл на оффер и почему, пока не прилетит бан.

Для белых вертикалей, где цена ошибки это отклонённое объявление, .htaccess допустим. Для серых, где цена ошибки это аккаунт с историей, дешевле подписка. Расчёт в статье о ценах на клоаку.

Как выбрать

  1. Есть хостинг с PHP и обычный лендинг: PHP-лоадер.
  2. Сайт на React, Vue, Next.js или Node.js: SDK.
  3. Трафик уже идёт через Keitaro: модуль Keitaro, при необходимости плюс Worker на домене white.
  4. Сайт на WordPress: плагин, с отключённым кэшем страниц на входных адресах.
  5. Конструктор или чужой хостинг без PHP: JS-фильтр, понимая его ограничения.
  6. Нужно, чтобы на сервере не было следов фильтра, или доменов много: Cloudflare Worker.

Частые вопросы

Что такое JS-клоака

Фильтр, который работает в браузере посетителя после загрузки страницы: собирает признаки и подгружает оффер по решению сервиса. Ставится на любой сайт, но робот с исполнением JavaScript видит сам скрипт, поэтому JS-фильтр лучше использовать как второй слой поверх серверного.

Чем PHP-лоадер лучше JS-фильтра

Решение принимается до отдачи HTML, и робот получает только белую страницу без следов фильтра в исходнике. JS-фильтр принимает решение после загрузки и виден в коде.

Можно ли сделать клоаку через .htaccess

Можно, по спискам IP и User-Agent. Но списки устаревают, признаков кроме IP и UA нет, статистики нет. Для серых вертикалей такой вариант дороже подписки из-за банов.

Что такое обратная PHP-интеграция

Тот же файл index.php, установленный со стороны страницы оффера или прелендинга: прямой заход на неё без метки и с признаками проверки получает white.

Какой способ входит в пробный период KLO

Пробный период даёт функционал START: PHP-лоадер, обратная PHP-интеграция и SDK. JS-фильтр, Keitaro и WordPress входят в PROFIT, Cloudflare Worker в DOMINATION.

Проверьте связку на своём трафике

KLO отсеивает ботов, модераторов и фрод до показа оффера. Пробный период 3 дня с полным функционалом тарифа START, карта не нужна.

Начать бесплатно

Читайте также

ВСЕ

Все гайды по клоакингу

Пятнадцать материалов по источникам трафика, интеграциям и базовым вещам: белая страница, проверка связки, цены.