Зашёл и набрал в поисковой строке запрос из нескольких латинских символов, после чего Рамблер наглухо завис и подвесил браузер со всеми вкладками – пришлось через диспетчер задач перезагружать (последний раз такой фокус у меня выкинул случайно открытый СМИ24).
В общих чертах смысл обновления понятен.
Мне несложно, если есть время – почему бы не поделиться.
Насчёт городов – здесь не специалист, промолчу. Хотя, на мой взгляд, тут всё не очень просто, особенно с оглядкой на весьма зыбкие представления алгоритмов Яндекса о геотаргетинге – лично я в подобных случаях воздерживаюсь от лишних блокировок, если их смысл не отвечает формулировке «кристально ясен».
Если честно запутался в конечном итоге. Я думал из черно списка ip диапазонам выдается определенная страница.
Ещё раз.
Две таблицы. Одна постоянная, для «чёрного» и «белого» списков. Вторая – оперативная, с ежедневной очисткой.
Все визиты на сайт – через «сторожа». Всем, кто в «чёрном» (пополняемом вручную!) – «сторож» говорит «до свидания», даже не подключая основное ядро сайта. Всем, кто в «белом» – «добро пожаловать» и прекращает для них все проверки, и точно то же самое повторится для них и завтра, и послезавтра. Остальных «сторож» проверяет по ряду алгоритмов, причём эти алгоритмы анализируют – внимание! – что и как гость делал СЕГОДНЯ, потому что ВЧЕРАШНЯЯ статистика уже почищена, то есть если эти же визитёры зайдут завтра и поведут себя иначе – «сторож» про их визиты за предыдущие дни уже не «вспомнит» и соответственно снова прогон по тем же алгоритмам (которые при иной модели поведения они, возможно, уже пройдут).
Вы запутались просто потому, что 1) разговор начался с лайфхака с «занавеской» – а это лишь один из множества способов определить бота; и 2) в описанной мной структуре нет (пока нет!) очевидно и явно необходимой связи – прежде чем очистить статистику за предыдущие дни и «забыть» все визиты за эти дни, система должна самостоятельно накапливать результаты анализов и автоматически вносить наиболее назойливых гостей в «чёрный» список в постоянную таблицу, где они поселятся уже надолго.
Почему я ПОКА не доверяю системе делать это самостоятельно? Потому что сама система не в состоянии оценить вероятность ботных и живых визитов с конкретного IP – сегодня оттуда пришёл бот, а завтра кто-то живой и кожаный, неутолимой жаждой знания томим, подключился к VPN и пришёл ко мне с этого же сервера за информацией.
Что тут можно сделать? Ну например, добавить в постоянную таблицу «серый» список – типа, этим пока можно, но каждого между делом вручную проверить на благонадёжность и сопричастность к «битерикобразным» диапазонам, и чтобы самых назойливых система ежедневно кидала в этот «серый» список на проверку перед очисткой ежедневной статистики.
Проблема в том, что большинство ботов уже давно не представляются в UserAgent своими истинными именами, кроме разве что самых известных. IP тоже не показатель – боты ко мне прекрасно прутся и с Ростелекома, и с Мегафона, то есть с тех же сетей, откуда приходит и живой траф. Подставить любой реферер в визит для ботов опять не вопрос. То есть в итоге достоверную инфу о посетителе, по сути, получить не так-то просто. А лайфхаки с кнопками и «занавесками (и возможно, вскоре появятся новые) – стопроцентно «чистый», лёгкий и простой маркер: бот! Чем мне эти способы и нравятся.
Насколько чистый трафик, интересует процент роботности в метрике по прямым заходам и по поисковым запросам.
Здесь всё зависит от общего трафика сайта. Скажем, на двух основных сайтах у меня 200-250 ежедневных уников и там % отказов к 4-5 утра (ибо основное ядро ЦА – Москва и график «живой» активности соответствующий) может оказаться под 50%, но уже к 12 дня снижается до 12-25 %, а к вечеру изредка при случае может и до 8-10% снизиться. В выходные % отказов легко может и до 80% подскочить, сейчас готовлю доп. алгоритмы под это дело.
А вот с малопосещаемыми хуже: к примеру, зашли 5 человек, тщательно пролистали уроки по 3D, вслед за ними притопали 15 ботов и пошли шерстить мой сайт/wordpres/dropdown/uninstall.php (там упомянутых мной алгоритмов нет, просто Метрика саморезами привинчена в подвале и всё) – результат вполне предсказуемый, хорошо если меньше 80% будет. Правда, не так давно мне это поднадоело и на днях организовал для нескольких доноров небольшое подспорье – аналитику визитов с доноров центральным хабом и возврат тем результатов по API в формате JSON вида «этого можешь пустить, а этого гони взашей» (фактически свой собственный куцый суррогат CloudFlare), но статистика результатов анализа хабом пока не собралась, нужно время, да и корректироваться ещё будет. Зато при таком подходе, если на хабе заблокировал подсеть или UserAgent – зайти он не сможет уже ни на центральный хаб, ни на одного из доноров.
Не, понятно, что велосипед. Но что там будет с CloudFlare – пока неясно, ибо перспективы развития дальнейшей обстановки весьма туманны, да и по скорости отклика, говорят, прихрамывает. А у меня всё собственное, без натуральной химии, поэтому и измеряется в сотых секунды.
P. S. Виноват, меня же про роботность спрашивали, а не про отказы. Посмотрел – на двух сайтах в среднем за месяц 20%, на старом фаворите – 1%, на остальных разброс от 30 до 80%.
Хороший ответ спасибо. Очень подробно. То есть вы это реализовали на чистом php, в том числе и выдачу страниц этому черному списку, я так понял. По сути на базе это 4-5 файлов, изначально со страницы парсится ip и записывает в лог, но не в txt как я делаю, а в php обработку. По сути они даже не хранятся, а распихиваются в white и black list откуда и получают указания какую страницу отображать. Шторки и невидимые кнопки просто служат неким триггером для отправки в эти файлы...так идейка огонь конечно. Блин только закончил сложный калькулятор, как же долго я буду это делать, представить боюсь)
Еще раз постулат перечитал, я имел ввиду что белые адреса и все кто заходит на сайт у вас не храниться, есть условно черный список, кто сразу страницу с пипиркой получает, а белые идут в обработку. Я так понимаю вы месяца 3-4 этим занимаетесь, стал чище трафик?
На минуточку, чёрный и белый списки формируются мной вручную, но пополняются медленно, т. к. в чёрный обычно вносится сразу новый диапазон – при этом мной анализируется, могут ли быть «живые» посещения с этого диапазона (скажем, при подключении через VPN) или это с большой степенью вероятности исключено, а в белый – боты поисковых систем, опять же после проверки, цель которой – установить, что бот с заголовком Яндекса пришёл с диапазона, который действительно принадлежит Яндексу.
Данные пишутся в MySQL-таблицу – при грамотной переиндексации полей и своевременной чистке запросы туда производятся за доли секунды. Долго статистика в этой таблице не живёт – накопленные результаты аналитики вносятся в другую таблицу, где данные хранятся дольше, а оперативная таблица визитов чистится по крону.
И да, трафик стал чище, а тормоза при использовании этого способа практически отсутствуют. Хотя, конечно, 100% гарантии от ботов это не даёт. Поэтому время от времени и добавляются новые алгоритмы, на основе новых сформулированных паттернов поведения ботов.
Я так понимаю если в серверной части только с php дружу мне такого не сделать? Я маленько по другому их осаживаю. Отправляю в лог все ip, далее на странице сделал скрипт который считает общее количество и сортирует их. Далее вручную смотрю откуда их гора и блочу по маске то, что мне не нравиться. Также реализовал кнопку которая удалит их из лог.txt, после обновления страницы они улетают.
Может я просто чего то не понял в вашем подходе, с начала топика то понятно, а вот дальше...Вообще если я на один город работаю и для директа у меня отдельный сайт, может есть смысл все города кроме своего забанить?
У меня сделано именно на PHP. Логика примерно такая: каждый визит проходит анализ из множества составляющих: в первую очередь по «белому» и «чёрному» спискам (на этом этапе сразу отсеивается из дальнейшего анализа большое количество визитов – Битерика, боты поисковых систем и пр.). В этих списках нет отдельных IP – как минимум диапазоны, UserAgent ботов и пр. Далее анализ продолжается по десятку дополнительных алгоритмов, к примеру, отсев любителей сканирования служебных (и заведомо отсутствующих на сайте) URL типа «/wp-content/» или «sitecrash.php», «дятлов» с тремя-четырьмя и более запросами страниц в секунду, меняющих свой UserAgent с сохранением IP-адреса в процессе визитов «фантомасов», все эти визиты также записываются. В эту же процедуру фильтрации входят и несвойственные человеку взаимодействия – просмотр страниц сквозь «занавеску» или нажатие невидимых кнопок. А чуть ранее, сразу после отсева по «чёрно-белым» спискам, производится поиск «рецидивистов» – это посетители, чьё поведение уже неоднократно совпало с паттерном одного из фильтрующих алгоритмов (то есть после разовой предупредительной выдачи 404 вместо страницы согласно одному из алгоритмов) бот продолжил в прежнем ключе – в этом случае вместо очередного 404 гость блокируется уже на продолжительное время, от часа до суток (выбор срока блокировки зависит от количества совпадений с паттернами). Время от времени добавляются новые алгоритмы. Задача в том, чтобы всё это происходило по возможности автономно, без систематического вмешательства человека.
Не исключаю, что здесь, на Сёрче, и ботоводы лазают. В таком случае им будет полезно знать, что невидимые кнопки я люблю называть как-нибудь вроде "welcome_to_begin", а мешающие просмотру занавески – "never_press_for_blowing_whole_site" (и да, у меня в запасе много других интересных наименований): боты обычно с такими фортелями не справляются и либо нажимают то, что не надо, либо наоборот, потому как шаг в сторону от стандартных методов и названий – и они уже не в курсе, что и как с этим всем делать.
Как-то так.
Приветствую. Есть еще что интересненькое? Вы после выявления ботов их в .htaccess просто баните?
Нет, конечно. Выдача элементарнейшей HTML-страницы с сообщением типа «436 Temporary Blocked for Violation». Без интеграции сообщения в интерфейс, во избежание запуска стандартных процедур формирования элементов страницы, предназначенной для живых посетителей, и соответствующих серверных затрат. И да, в качестве кода ответа выбираю заведомо несуществующие, собственноручно изобретённые – они фиксируются и впоследствии легко ищутся в аналитике, а для бота не имеет никакого значения, какая конкретно цифра предваряет начало его эротического путешествия.
Ах да, интересненькое. Невидимые кнопки, конечно. Взято отсюда, с Сёрча. Боты такие элементы любят и охотно нажимают. Последствия нажатия у меня на сайтах всё те же, эротического характера.
Выход есть! Достаточно всего один раз в день принять по триста граммов препарата под названием...
Ладно. Штуки в сторону. Что такое wp-login.php? А это что-то типа мёда для ботов. Слетаются обильнее, чем их биологические подобия. Выход – сделать собственную форму авторизации на странице с менее известным URL (к примеру, [адрес сайта]/welcome_to_my_cave/), а с неё уже перенаправлять на wp-login.php методом POST с набором данных для авторизации. Для последнего соответственно добавить проверку – если нет реферера с нашей малоизвестной страницы (ну и плюс стандартный набор «название хоста», метод обращения, наличие и корректность данных для входа), то до свидания. Высший пилотаж – это подключить свою страницу непосредственно к ядру WP, но и в том и в другом случае придётся поработать с кодом (либо обратиться к специалистам). Важно: на самодельной странице авторизации не должно быть Яндекс-Метрики! И ни в коем случае не должно быть HTML-ссылок на неё! Ибо иначе Метрика спалит ботам URL и придётся его менять – типовые не пойдут искать, а вот сбродные могут и заинтересоваться.
Сделал генератор паролей, проверку скорости интернета что нибудь еще хочется нет идеии никакой... свободно на диске 500мб
Конвертер чисел в разные системы счисления – 10->16, 10->2, 16->10 etc
Конвертер Unixtime -> ЧП время
Генератор строф-продолжений для стихов
Генератор бессмысленной зауми по заданной тематике (космогония, астрология, эзотерика etc), конкретный пример (без выбора тематики): https://taxpert.ru/tools/rave/
Синонимайзер текстов («плавное затухание» –> «постепенное угасание»)
Анализатор частотности слов в тексте
Автопрошивка изображений водяным знаком с указанным словосочетанием
Генератор мемов
Ну и так далее.
При чём тут 500 Мб, не совсем понял? Сотню сервисов вроде вышеперечисленных можно спокойно уместить в 1-2 Мб, если только не записывать все сгенерированные результаты.