Приемы и хитрости

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

Цепочки из потоков

Так как файл index.php, используемый Adspect для фильтрации трафика, является обыкновенным PHP-скриптом, его можно использовать в качестве контент-страницы или белой страницы в любом другом потоке, то есть один поток может перенаправлять посетителей в другой поток. Это позволяет строить цепочки из потоков. Типичную настройку такой цепочки лучше всего проиллюстрировать примером из реальной практики.

Предположим, что у вас есть рекламная кампания в таком источнике трафика, который поставляет браузерный трафик вперемешку с трафиком из мобильных приложений, при этом не предоставляя настройки для их разделения. Такие рекламные сети существуют — это сети push-уведомлений, базы которых состоят как из подписчиков на WebPush, так и из подписчиков на уведомления в мобильных приложениях («in-app») и PWA. Вам хотелось бы разделять эти типы трафика, отправляя WebPush-подписчиков на оффер https://example.com/webpush-offer, а подписчиков in-app/PWA на другой оффер https://example.com/inapp-offer.

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

Схема прохождения трафика

В этой схеме поток A будет иметь следующие определяющие настройки:

  • Контент-страница: https://example.com/webpush-offer

  • Белая страница: index-b.php

  • Разрешить трафик из мобильных приложений: нет

Определяющие настройки для потока B:

  • Контент-страница: https://example.com/inapp-offer

  • Белая страница: https://google.com/

  • Разрешить трафик из мобильных приложений: да

Запрет трафика из мобильных приложений во входном потоке A будет отправлять такой трафик вместе с другими отфильтрованными посетителями на белую страницу, в качестве которой выступает поток B. Поток B в свою очередь будет заново анализировать трафик и отправлять хороших посетителей из приложений на отдельный оффер, отфильтровывая всех остальных на настоящую белую страницу (Google в нашем примере).

Далее вам просто потребуется разместить файлы index.php обоих потоков в одной папке: оставьте файл index.php потока A названным как есть, а файл потока B переименуйте в index-b.php, который и будет являться суррогатной белой страницей для потока A.

Выделенный поток для черного списка IP-адресов

У потоков есть полезная настройка «Заносить все IP-адреса в черный список в режиме «Модерация», которая позволяет автоматизировать сбор IP-адресов модераторов в черном списке потока в режиме «Модерация». Эта настройка может использоваться для создания единого черного списка в выделенном для этой цели потоке.

Порядок действий:

  1. Создайте отдельный поток для сбора единого черного списка. Переведите его в режим «Модерация» и включите настройку «Заносить все IP-адреса в черный список в режиме «Модерация». Это приведет к тому, что IP-адреса всех посетителей в потоке будут заноситься в его черный список автоматически в момент каждого клика.

  2. Используйте файл index.php этого потока в качестве белой страницы для других потоков, как было описано выше. Это приведет к занесению IP-адресов всех неблагонадежных посетителей в черный список выделенного потока. Если вы опасаетесь, что такой черный список со временем станет слишком широким и будет приводить к большому количеству ложноположительных результатов (как было упомянуто в главе о фильтрации), то используйте поток в качестве белой страницы в других потоках только на период модерации.

  3. Наблюдайте за автоматическим пополнением черного списка IP-адресов в вашем выделенном потоке и копируйте его в другие потоки время от времени (мы понимаем, что это неудобно, и уже работаем над решением для создания общих черных списков на несколько потоков).

Комбинирование клоакеров

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

  • Один поток будет использоваться в качестве контент-страницы вышестоящего клоакера, принимая от него трафик, который тот посчитал хорошим. Контент-страницей этого потока будет ваш целевой оффер или лендинг, а белой страницей — настоящая белая страница, при помощи которой будет осуществляться клоакинг. Установите этот поток в режим «Фильтр».

  • Другой поток будет использоваться в качестве белой страницы вышестоящего клоакера, принимая от него трафик для целей сбора черного списка IP-адресов «плохих» по мнению вышестоящего клоакера посетителей, а также для обучения на этом трафике нашей системы машинного обучения VLA™. Полученные данные позволяют нам перенимать у других клоакинг-решений их критерии фильтрации и тем самым делать Adspect еще более точным. Обязательно включите настройку «Заносить все IP-адреса в черный список в режиме «Модерация» для сбора IP-адресов в черном списке потока, как это было описано выше. В качестве контент-страницы и белой страницы укажите вашу конечную белую страницу, при помощи которой будет осуществляться клоакинг. Оставьте поток постоянно работать в режиме «Модерация».

Распределение трафика в зависимости от операционной системы

Пользовательский интерфейс Adspect пока не позволяет создавать полноценные TDS-правила распределения трафика (эта функция будет добавлена в будущем), но их можно реализовать при помощи простого PHP-кода, указав его в поле контента вместо ссылки. Типичный сценарий использования — распределение трафика между разными контентами в зависимости от операционной системы посетителя.

Например, вы хотите перенаправлять пользователей macOS и Windows на разные ссылки контента. Укажите в поле контента следующий код:

if ('{os}' === 'macOS')
  header('Location: https://mac-url-here');
else
  header('Location: https://win-url-here');

Замените в этом коде https://mac-url-here на ссылку для пользователей macOS и https://win-url-here на ссылку для пользователей Windows. Затем выберите действие «Выполнить PHP-код». Этот скрипт будет вызываться для каждого целевого посетителя и перенаправит его на нужную ссылку контента в зависимости от операционной системы.