Почему визит есть в Метрике, но нет данных в KillBot. Как защититься от обхода KillBot.

Симптом:
В Яндекс.Метрике есть визит или заявка (в том числе фейковая), но: — отсутствуют параметры посетителя
— отсутствуют параметры визита
— визит не находится в KillBot

Основные причины

0. DNS еще не обновился (до 72 часов после подключения)

Если сайт был подключен к KillBot недавно, часть пользователей может попадать на сайт по старым DNS-записям.

Важно: это нормальная ситуация в течение до 72 часов после подключения. Основная часть пользователей начинает заходить на сайт через новые DNS-записи (через сервер KillBot) обычно в течение 1–3 часов, однако у части пользователей DNS-кэш может сохраняться дольше, и полное обновление может занимать до 72 часов.


1. Обход KillBot

Пользователь зашел напрямую на сервер сайта, минуя DNS-прокси KillBot.

Как это делается (самый простой способ):

На компьютере есть специальный файл hosts, который позволяет вручную указать, какому IP соответствует домен. Если туда прописать IP сервера сайта — браузер пойдет напрямую, минуя KillBot.

Где находится файл hosts:

  • Windows: C:\Windows\System32\drivers\etc\hosts
  • Linux / Ubuntu: /etc/hosts
  • MacOS: /etc/hosts

Пример записи:

123.123.123.123 example.com

Где 123.123.123.123 — это реальный IP сервера сайта (не KillBot).

После этого: — пользователь открывает https://example.com
— но попадает сразу на сервер сайта
— KillBot полностью обходится

Важно: такие визиты — это почти всегда фейковый или вредоносный трафик.


2. Сбой передачи данных в Метрику (редко)

Иногда Яндекс.Метрика может не сохранить параметры визита или посетителя. Это редкая ситуация.


3. Визит есть в KillBot, но Метрика не получила параметры

Если пользователь проходил через KillBot, но данные не попали в Метрику:

  • визит можно найти в KillBot по IP
  • в KillBot данные сохраняются корректно

Как защититься от обхода KillBot

Чтобы никто не мог заходить на сайт напрямую, нужно закрыть сервер сайта и разрешить доступ только с IP сервера KillBot.

Решение через .htaccess:

Order deny,allow
Deny from all
Allow from 1.2.3.4

Где 1.2.3.4 — это IP сервера KillBot.

Если IP несколько — добавляются несколько строк:

Order deny,allow
Deny from all
Allow from 1.2.3.4
Allow from 5.6.7.8

Что это дает:
— все прямые заходы на сервер блокируются
— доступ остается только через KillBot
— любой обход становится невозможен


Как быстро понять, что был обход

  • нет параметров визита → почти всегда обход
  • визит не найден в KillBot → 100% обход
  • есть подозрительная заявка → почти всегда обход

Ключевая мысль

Если трафик не прошел через KillBot, он:

  • не фиксируется системой
  • не получает параметры
  • должен считаться подозрительным

Поэтому обязательно: закрыть прямой доступ к серверу сайта и оставить вход только через KillBot.