Я бы подождал, но в магазине конверсия падала из за того что (пользователь первый раз в жизни попадает на сайт с ПС и почему-то некоторые из них закрывают вкладку).
Да и боюсь получить от ПС за клоакинг, поэтому реализовал фоновую проверку, не такая надежная как у вас, но в целом с поставленной задачей справляется :)
Признаю, описание взял с вашего сайта, лень было писать, но это после написания своей реализация, вашу реализация проверки бота видел еще в 2016, выкатывали в дорах для скрытия рекламы и ссылок от ПС, я ею не пользовался потому что боюсь клоакинга.
Копаясь в фоновой проверке reCAPTCHA, понял что проверку reCAPTCHA можно улучшить и сделать более мягкой, так и получилась моя реализация AntiBot:
*) Был добавлен socket что-бы усложнить ботам задачу
*) Используется фоновая проверка как в reCAPTCHA, что-бы ПС не занижала позиции сайта из за клоакинга
*) Новые пользователи зашедшие с ПС не ждут проверки AntiBot, из практики могу сказать что это положительно сказываться на конверсии
Полчаса можно увеличить до суток/недели/месяца, я блокирую на неделю, тут каждый решает сам исходя из своего проекта.
Заносить вручную IP в блек как это делает ТС, тоже не вариант и там тоже есть свои минусы:
*) Ручная работа, постоянно следить за логами, вность IP в блек и т.д.
*) Сегодня заблокированные IP это "боты/спамеры", а завтра это сотни белых пользователей которые не могут получить доступ к сайту - (в моем примере выводится заглушка).
*) Каждый IP может сделать тысячи запросов перед тем как попадет в блек - (в моем примере блок идет сразу).
*) Может зайти бот который делает 40к запросов в сутки распределяя по 20 запросов на 2000 IP, такие запросы останутся без внимания - (в моем примере даже такой бот будет заблокирован).
*) На сайт могут зайти 10 валидных пользователей из под NAT с одним IP, сделать 200 запросов, кликнуть на рекламу и принести прибыль, но такой IP уйдет в блок, потому что с этого IP много запросов - (в моем примере выводится заглушка).
1) Заблокированным IP выводится Заглушка
2) Заглушка - Выводится вместо сайта для заблокированных IP, при этом в заглушке используется JS для установки валидных кук, благодаря которым белые пользователи могут попасть на сайт, а боты так и продолжают смотреть заглушку.
Мой пример не идеален, но он решает больше проблем чем ручной блок, работает на автомате и не блокирует белых пользователей, им конечно будет выводится заглушка с ожиданием, но все же это лучше чем полный блок :)
Не совсем правильно выразился, IP помечать как бот и выдавать такому IP в течении 20-30 минут вместо сайта заглушку, заглушка будет явно просить пользователя включить JS и подождать 3 секунды, что-бы можно было попасть на сайт (пример такой заглушки CloudFlare). В данном случаи бот будет заблокирован, а реальные пользователи которые зайдут в течении этих 30 минут с таким-же IP, просто подождут 3 секунды и смогут дальше просматривать сайт.---------- Добавлено 23.03.2018 в 21:06 ----------
Обычно они делают мало запросов, максимум сотню. В моем примере просто увеличьте счетчик попыток до нужно числа, то число которое вы используете в ручном блоке. А так-же можно убрать проверку cookie #1 и оставить только cookie #2 что-бы исключить ложные срабатывания и повысить точность блока.
mrmvd, На самом деле все делается на много проще и эффективней, причем на полном автомате, не нужно постоянно мониторить логи, собирать и блокировать IP/UseAgent и т.д
Первый запрос IP:
*) Выдаете контент
*) Посредством cms/сервера выдаете проверочные cookie #1
*) В контенте выдаете код на JavaScript который ставит пользователю cookie #2, но не сразу а спустя 3 секунды пребывания на сайте.
Второй запрос от IP:
*) cookie #1 нету ?, отправляйте в бан, это бот.
*) Есть cookie #1 и cookie #2 ?, это реальный пользователь.
*) cookie #1 есть но нету cookie #2 ?, добавьте счетчик для IP и считайте количество запросов.
4й запрос от IP:
*) Все еще нету cookie #2 ?, блокируйте, это бот.
User Agent говорит что это ПС ?
*) Не верьте, сейчас тьма парсеров пишут в UserAgent поискового бота.
*) Любой запрос от ПС проверьте через PTR, если это реально ПС, добавьте в белый список, если нет, то это бот и его место в черном списке.
Dimoks, Задержка в несколько часов может быть связана с кешированием контента если это клонировщик, либо стандартный парсер по крону.
Если у вас vps, поставьте бесплатный AntiBot что-бы блокировать такой мусор (ссылка в подписи).
Meggido, Когда то еще и jino был бесплатный (тогда даже рамблер считался за поисковую систему), помню как размешал там всякое г..но.
Хостинг был вполне себе сносный и хорошо раскрутил платный.
Вот это уже плохо, стоит написать в хостинг, что-бы закрыли :)---------- Добавлено 18.03.2018 в 12:42 ----------В том же vhosts.map есть полные пути к директории сайта ?, если да, то попробуйте:
1) Обратится напрямую по этому пути, иногда срабатывает и выдает содержимое сайта.
2) Выполнить в bash "cat /путь/index.php", такое тоже иногда срабатывает.
Я так понял что видно только Имя и Фамилию, сам логин и email который используется для авторизации владельца, не засвечен 🍿
Другое дело что ТС видит конфиги nginx/apache, но опять такие, если внутри тех конфигов нету доменов других владельцев, то все в порядке.
Имя и фамилия не так страшно, главное что-бы имена сайтов и их содержимое было недоступно для просмотра.