Разберем техническую составляющую реализации. Серверная подмена работает только тогда, когда backend сам решает, что отдать: HTML, редирект, JSON или пустую страницу. Если проверка строится на одном признаке — IP, User-Agent, Referer или Accept-Language — это не защита, а декорация. Анализ логов показывает: такие схемы быстро палятся по несостыковкам в цепочке прохождения запроса.
Базовый минимум: — сверка заголовков с IP-гео и часовым поясом; — контроль cookies и session-id между запросами; — проверка fingerprint на повторяемость; — отдельная логика для ботов, сканеров и человека. Если контент меняется только по одному условию, фильтр учится на паттерне. Если по нескольким, но без корреляции, ловится на аномалии. Если слишком агрессивно обрезать трафик, получаете не маскировку, а пустую витрину для всех.
Правильная схема строится как decision tree: сначала дешевые проверки на уровне edge, потом более дорогая валидация на backend, затем уже выдача нужного слоя контента. Для верификации смотрят не только ответ сервера, но и последовательность запросов: DNS, TLS-рукопожатие, заголовки, cookies, поведение при повторном визите. Конфиг готов, можно деплоить — только после того, как логи подтверждают одинаковую логику ветвления на всех типах клиентов.
Если серверная подмена нужна, делайте ее как систему правил, а не как магию в одном if. Иначе первый же нормальный аудит покажет, где у вас ручная склейка вместо архитектуры.
Клоакинг: разборы
@cloaking_lab_arb
Подмена контента на сервере: где ломается логика и как не спалиться на фильтрах
Этот пост опубликован в Telegram-канале Клоакинг: разборы. Подписаться можно по ссылке: @cloaking_lab_arb.