Подмена контента на стороне сервера: где ломают фильтр и как это видно в логах
Разберем техническую составляющую реализации. Серверная подмена работает только там, где есть жесткая развилка по признакам запроса: IP, ASN, GeoIP, User-Agent, Accept-Language, referer, cookies, TLS-fingerprint. Если решение принимается на бэкенде, клиенту можно отдать одну страницу, а модератору — другую. Если логика размазана по фронту, расхождение ловится банально: один и тот же URL, но разные DOM, заголовки и цепочка редиректов.
Анализ логов показывает, что чаще всего палятся на примитиве:
— IP-rotation без синхронизации cookie и session storage
— разный кеш для бота и живого пользователя
— утечка через canonical, og-tags, sitemap, robots
— несоответствие referer и целевой географии
— подмена только HTML без учета запросов к JS, CSS и изображениям
Проверка цепочки прохождения запроса должна быть полной: CDN, WAF, reverse proxy, приложение, шаблонизатор, база правил. Если на одном узле ответ кэшируется, а на другом уже нет, фильтрация видит «дрожание» контента. Нормальная схема — единый decision engine на входе, а дальше жесткая маршрутизация: либо весь стек отдает один вариант, либо весь стек отдает другой. Без этого получается театр с плохим освещением.
Вернись к базовой верификации: сравни заголовки, body, тайминги, размер ответов и набор сетевых запросов в браузере и в headless-окружении. Конфиг готов, можно деплоить только когда оба сценария совпадают по внутренней логике, а не по случайности. Иначе маскировка держится ровно до первого нормального дампа.
Клоакинг: разборы
@cloaking_lab_arb
Подмена контента на стороне сервера: где ломают фильтр и как это видно в логах
Этот пост опубликован в Telegram-канале Клоакинг: разборы. Подписаться можно по ссылке: @cloaking_lab_arb.