PFAntiBot Вакцина для сайта. Программа для защиты сайта от атак Роботов накручивающих свой ПФ (поведенческий фактор) и иных хакерских атак на счетчик Я-Метрики.
Предисловие Есть расхожее утверждение о том, что якобы плохие Роботы своим посещением сайта могут привести к серьёзным проблемам: падению позиций в поисковой выдаче, увеличению нагрузки на ресурс и бану в рекламных сетях или на партнёрских платформах.
Так ли это?
Возможно кто-то сталкивался с такой проблемой. На сайте при стабильном трафике, вдруг начинает отображаться повышение посещаемости. Вроде это хорошо. Но нет. Я-Метрика начинает фиксировать повышение "Роботности по поведению".
Это Роботы. Они заходят на ваш сайт и выполняют различные действия, маскируясь под человека. - Что этим Роботам надо? (Скажете Вы) - Они накручивают свой ПФ (поведенческий фактор). При длительной и настойчивой работе на разных сайта со схожей тематикой, Я-Алгоритм перестаёт действия данного конкретного Робота фиксировать как "роботные" и признаёт как "человеческие". Это их цель.
Как только такое происходит, хозяин Робота ваш сайт бросает и направляет этого "РобоЧеловека" на выполнение уже нужных ему задач. Можно сказать - ну и что. Зачем беспокоиться – «посещалка» же выросла.
Так то да. Но учтите. Ваш сайт посещают "Роботы" и снижают его привлекательность. А как только Роботы становятся "РобоЧеловеками" их от вас забирают. По сути ваш сайт является полигоном с выжженной землёй, на которой пасутся одни только «Роботы». И если ваш ресурс участвует в РСЯ, то повышенная роботность сайта может стать основанием для отказа в монетизации. А это уже глобальная проблема и прямые убытки. И эту проблему надо решать.
Для решения этой задачи и предназначается PFAntiBot Вакцина для сайта.
Принцип работы PFAntiBot. Проблема с "Роботностью" происходит в рамках Я-Метрики. Поэтому алгоритм PFAntiBot основан на данных формируемых счетчиком Я-Метрики. Точность работы программы PFAntiBot основана на допущении, что Я-Алгоритм определения "Робот/Человек" Я-Метрики работает корректно.
Программа анализирует профиль посетителя сайта. По результатам анализа делается вывод, кто пришёл на сайт Робот или Человек. В случае если посетителем является Человек, то включается основной код Я-Метрики, без каких либо ограничений. Если посетитель это Робот, то основной код Я-Метрики скрывается (защищается). Роботу предлагается, либо ничего, либо счетчик другого ресурса. Отсутствие счетчика для Робота это важный фактор. Нет счетчика - нет смысла для посещения сайта. Дополнительно, по желанию администратора сайта, по отношению к Роботу могут быть применены санкции. Вариант санкций возможен различный, от удаления или порчи профиля Робота до замены профиля Робота профилем "хорошего" Человека. В первом случае Робот посетивший ваш сайт получает понижение рейтинга ПФ. Во втором случае Робот начинает накручивать какой-то другой профиль, но не свой.
В любом случае наша задача сделать так, чтобы Робот опасался посещать ваш сайт. Как к этому отнесётся его хозяин не известно. Возможно, обидится. Но на это будет, или уже придуман другой алгоритм.
Скрипт состоит из трёх модулей. 1) Определитель Робот/Человек 2) Модифицированный код Я-Метрики 3) Санкционный механизм
Порядок встраивания PFAntiBot.
Определитель Робот/Человек Для размещения модуля удобнее всего использовать PHP-скрипт, который загружается первым. Это может быть любой файл конфигурации, где происходит определение основных функций и констант сайта. Способ размещения зависит от используемой CMS. К примеру файлы: index.php, header.php, footer.php и т.п.
Программа может быть использована Как есть. Но в процессе эксплуатации, может возникнуть необходимость выполнить дополнительные настройки. Для этого прочитайте следующую информацию: Некоторые особенности настройки констант PFAntibot
PFAntiBot Вакцина для сайта. Модуль: Модифицированный код Я-Метрики HTML
XXXXXXXX - номер счетчика; console.log("is bot"); - для сбора сведений по Роботам, вместо этой строки можно вставить javascript-код альтернативного счетчика.
Проверил. Работает. Есть парочка вопросов. Роботность снижается заметно почти в ноль. Только ссыкотно за трафик. Без pfantibot визитов было много больше. Как проверить кого отфильтровало? По поводу санкций пока вникаю.
Для роботов создайте в Я-Метрике новый счетчик. Можно использовать уже существующий счетчик другого сайта. В настройках нового счетчика уберите галочку (не принимать данные с других сайтов). Код настроенного таким образом счетчика разместите в Модуль: Модифицированный код Я-Метрики вместо строки console.log("is bot");
Только обратите внимание, что не весь код полностью, а только javascript часть.
Про _ym_uid Вот код для регистрации всех человеческих _ym_uid
PHP
log/debug - Изменить. Это имя файла где будут собираться все _ym_uid посетителей, которые определены как люди.
Некоторые особенности настройки констант PFAntibot
PF_URI_BOT_ - Список шаблонов [*] URI которые посещают только боты
PF_REFERRER_BOT_ - Список шаблонов [*] REFERRER от куда приходят только боты
PF_USERAGENT_BOT_ - Список шаблонов [*] UserAgent известных ботов обратите внимание: пробел между двух запятых - это значит пустое значение UserAgent. т.е. посетители без UserAgent тоже будут классифицироваться как Роботы.
Файлы получил. Пока не понял как в сайт встроить. Буду разбираться. Еще поясните как md5 проверить? А то md5online долго капчей мучал а потом меня заблокировал.
PFAntiBot Вакцина для сайта. Модуль: Санкционный механизм вариант: превращение роботов в людей (только для тестирования)
Спорный алгоритм с непредсказуемым результатом. Перед использованием убедитесь, что папка /tmp существует и доступна для чтения и записи файлов. Иначе укажите другое место для хранения временного файла.
Поясню смысл этого скрипта. Данный скрипт компенсирует возможные ошибки алгоритма определения статуса посетителя Робот/Человек. Код аналогичен . Отличие в том, что счетчик Я-Метрики будет загружен всем посетителям (и Роботу И Человеку), при соблюдении определенных условий.
Для посетителя, который был определен как Человек, счетчик загружается немедленно. Для посетителя Робота, тот же счетчик будет загружен через 1 секунду, но только после того, как посетитель выполнит какое нибудь действие.
Отслеживаемые события: движение курсора мышки, нажатие кнопки на клавиатуре, скролл страницы, касание сенсорного экрана.