Михаил

Михаил
Рейтинг
190
Регистрация
02.03.2007
Должность
Москва
Интересы
3D-графика и анимация, компьютерная графика, интернет-реклама, SEO, PHP-программирование
Родился по заданию разведцентра

Зашёл и набрал в поисковой строке запрос из нескольких латинских символов, после чего Рамблер наглухо завис и подвесил браузер со всеми вкладками – пришлось через диспетчер задач перезагружать (последний раз такой фокус у меня выкинул случайно открытый СМИ24).

В общих чертах смысл обновления понятен.

ronibestplay #:
Спасибо за столь непохожие для данного форума ответы. Как считаете в двух словах, если я на один город работаю без seo трафика, может и правда все кроме одного города заблочить, потеряется парочка клиентов да и бог с ними.

Мне несложно, если есть время – почему бы не поделиться.

Насчёт городов – здесь не специалист, промолчу. Хотя, на мой взгляд, тут всё не очень просто, особенно с оглядкой на весьма зыбкие представления алгоритмов Яндекса о геотаргетинге – лично я в подобных случаях воздерживаюсь от лишних блокировок, если их смысл не отвечает формулировке «кристально ясен».

ronibestplay #:

Если честно запутался в конечном итоге. Я думал из черно списка ip диапазонам выдается определенная страница. 

Ещё раз.

Две таблицы. Одна постоянная, для «чёрного» и «белого» списков. Вторая – оперативная, с ежедневной очисткой.

Все визиты на сайт – через «сторожа». Всем, кто в «чёрном» (пополняемом вручную!) – «сторож» говорит «до свидания», даже не подключая основное ядро сайта. Всем, кто в «белом» – «добро пожаловать» и прекращает для них все проверки, и точно то же самое повторится для них и завтра, и послезавтра. Остальных «сторож» проверяет по ряду алгоритмов, причём эти алгоритмы анализируют – внимание! – что и как гость делал СЕГОДНЯ, потому что ВЧЕРАШНЯЯ статистика уже почищена, то есть если эти же визитёры зайдут завтра и поведут себя иначе – «сторож» про их визиты за  предыдущие дни уже не «вспомнит» и соответственно снова прогон по тем же алгоритмам (которые при иной модели поведения они, возможно, уже пройдут).

Вы запутались просто потому, что 1) разговор начался с лайфхака с «занавеской» – а это лишь один из множества способов определить бота; и 2) в описанной мной структуре нет (пока нет!) очевидно и явно необходимой связи – прежде чем очистить статистику за предыдущие дни и «забыть» все визиты за эти дни, система должна самостоятельно накапливать результаты анализов и автоматически вносить наиболее назойливых гостей в «чёрный» список в постоянную таблицу, где они поселятся уже надолго.

Почему я ПОКА не доверяю системе делать это самостоятельно? Потому что сама система не в состоянии оценить вероятность ботных и живых визитов  с конкретного IP – сегодня оттуда пришёл бот, а завтра кто-то живой и кожаный, неутолимой жаждой знания томим, подключился к VPN и пришёл ко мне с этого же сервера за информацией.

Что тут можно сделать? Ну например, добавить в постоянную таблицу «серый» список – типа, этим пока можно, но каждого между делом вручную проверить на благонадёжность и сопричастность к «битерикобразным» диапазонам, и чтобы самых назойливых система ежедневно кидала в этот «серый» список на проверку перед очисткой ежедневной статистики.

Проблема в том, что большинство ботов уже давно не представляются в UserAgent своими истинными именами, кроме разве что самых известных. IP тоже не показатель – боты ко мне прекрасно прутся и с Ростелекома, и с Мегафона, то есть с тех же сетей, откуда приходит и живой траф. Подставить любой реферер в визит для ботов опять не вопрос. То есть в итоге достоверную инфу о посетителе, по сути, получить не так-то просто. А лайфхаки с кнопками и «занавесками (и возможно, вскоре появятся новые) – стопроцентно «чистый», лёгкий и простой маркер: бот! Чем мне эти способы и нравятся.

Kykapa4a #:

Насколько чистый трафик, интересует процент роботности в метрике по прямым заходам и по поисковым запросам.

Здесь всё зависит от общего трафика сайта. Скажем, на двух основных сайтах у меня 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%.

ronibestplay #:

Хороший ответ спасибо. Очень подробно.  То есть вы это реализовали на чистом php, в том числе и выдачу страниц этому черному списку, я так понял. По сути на базе это 4-5 файлов, изначально со страницы парсится ip и записывает в лог, но не в txt как я делаю, а в php обработку. По сути они даже не хранятся, а распихиваются в white и black list откуда и получают указания какую страницу отображать. Шторки и невидимые кнопки просто служат неким триггером для отправки в эти файлы...так идейка огонь конечно. Блин только закончил сложный калькулятор, как же долго я буду это делать, представить боюсь)

Еще раз постулат перечитал, я имел ввиду что белые адреса и все кто заходит на сайт у вас не храниться, есть условно черный список, кто сразу страницу с пипиркой получает, а белые идут в обработку.  Я так понимаю вы месяца 3-4 этим занимаетесь, стал чище трафик?

На минуточку, чёрный и белый списки формируются мной вручную, но пополняются медленно, т. к. в чёрный обычно вносится сразу новый диапазон – при этом мной анализируется, могут ли быть «живые» посещения с этого диапазона (скажем, при подключении через VPN) или это с большой степенью вероятности исключено, а в белый – боты поисковых систем, опять же после проверки, цель которой – установить, что бот с заголовком Яндекса пришёл с диапазона, который действительно принадлежит Яндексу.

Данные пишутся в MySQL-таблицу – при грамотной переиндексации полей и своевременной чистке запросы туда производятся за доли секунды. Долго статистика в этой таблице не живёт – накопленные результаты аналитики вносятся в другую таблицу, где данные хранятся дольше, а оперативная таблица визитов чистится по крону.

И да, трафик стал чище, а тормоза при использовании этого способа практически отсутствуют. Хотя, конечно, 100% гарантии от ботов это не даёт. Поэтому время от времени и добавляются новые алгоритмы, на основе новых сформулированных паттернов поведения ботов.

ronibestplay #:

Я так понимаю если в серверной части только с php дружу мне такого не сделать? Я маленько по другому их осаживаю. Отправляю в лог все ip, далее на странице сделал скрипт который считает общее количество и сортирует их. Далее вручную смотрю откуда их гора и блочу по маске то, что мне не нравиться. Также реализовал кнопку которая удалит их из лог.txt, после обновления страницы они улетают.

Может я просто чего то не понял в вашем подходе, с начала топика то понятно, а вот дальше...Вообще если я на один город работаю и для директа у меня отдельный сайт, может есть смысл все города кроме своего забанить?

У меня сделано именно на PHP. Логика примерно такая: каждый визит проходит анализ из множества составляющих: в первую очередь по «белому» и «чёрному» спискам (на этом этапе сразу отсеивается из дальнейшего анализа большое количество визитов – Битерика, боты поисковых систем и пр.). В этих списках нет отдельных IP – как минимум диапазоны, UserAgent ботов и пр. Далее анализ продолжается по десятку дополнительных алгоритмов, к примеру, отсев любителей сканирования служебных (и заведомо отсутствующих на сайте) URL типа «/wp-content/» или «sitecrash.php», «дятлов» с тремя-четырьмя и более запросами страниц в секунду, меняющих свой UserAgent с сохранением IP-адреса в процессе визитов «фантомасов», все эти визиты также записываются. В эту же процедуру фильтрации входят и несвойственные человеку взаимодействия – просмотр страниц сквозь «занавеску» или нажатие невидимых кнопок. А чуть ранее, сразу после отсева по «чёрно-белым» спискам, производится поиск «рецидивистов» – это посетители, чьё поведение уже неоднократно совпало с паттерном одного из фильтрующих алгоритмов (то есть после разовой предупредительной выдачи 404 вместо страницы согласно одному из алгоритмов) бот продолжил в прежнем ключе – в этом случае вместо очередного 404 гость блокируется уже на продолжительное время, от часа до суток (выбор срока блокировки зависит от количества совпадений с паттернами).  Время от времени добавляются новые алгоритмы. Задача в том, чтобы всё это происходило по возможности автономно, без систематического вмешательства человека.

Не исключаю, что здесь, на Сёрче, и ботоводы лазают. В таком случае им будет полезно знать, что невидимые кнопки я люблю называть как-нибудь вроде "welcome_to_begin", а мешающие просмотру занавески – "never_press_for_blowing_whole_site" (и да, у меня в запасе много других интересных наименований): боты обычно с такими фортелями не справляются и либо нажимают то, что не надо, либо наоборот, потому как шаг в сторону от стандартных методов и названий – и они уже не в курсе, что и как с этим всем делать.

Как-то так.

ronibestplay #:

Приветствую. Есть еще что интересненькое? Вы после выявления ботов их в .htaccess просто баните?

Нет, конечно. Выдача элементарнейшей HTML-страницы с сообщением типа «436 Temporary Blocked for Violation». Без интеграции сообщения в интерфейс, во избежание запуска стандартных процедур формирования элементов страницы, предназначенной для живых посетителей, и соответствующих серверных затрат.  И да, в качестве кода ответа выбираю заведомо несуществующие, собственноручно изобретённые – они фиксируются и впоследствии легко ищутся в аналитике, а для бота не имеет никакого значения, какая конкретно цифра предваряет начало его эротического путешествия.

Ах да, интересненькое. Невидимые кнопки, конечно. Взято отсюда, с Сёрча. Боты такие элементы любят и охотно нажимают. Последствия нажатия у меня на сайтах всё те же, эротического характера.

Выход есть! Достаточно всего один раз в день принять по триста граммов препарата под названием...

Ладно. Штуки в сторону. Что такое wp-login.php? А это что-то типа мёда для ботов. Слетаются обильнее, чем их биологические подобия. Выход – сделать собственную форму авторизации на странице с менее известным URL (к примеру, [адрес сайта]/welcome_to_my_cave/), а с неё уже перенаправлять на wp-login.php методом POST с набором данных для авторизации. Для последнего соответственно добавить проверку – если нет реферера с нашей малоизвестной страницы (ну и плюс стандартный набор «название хоста», метод обращения, наличие и корректность данных для входа), то до свидания. Высший пилотаж – это подключить свою страницу непосредственно к ядру WP, но и в том и в другом случае придётся поработать с кодом (либо обратиться к специалистам). Важно: на самодельной  странице авторизации не должно быть Яндекс-Метрики! И ни в коем случае не должно быть HTML-ссылок на неё! Ибо иначе Метрика спалит ботам URL и придётся его менять – типовые не пойдут искать, а вот сбродные могут и заинтересоваться.

Мои пять копеек. Песочница, по моим наблюдениям, всё же есть – мой совсем новый ресурс в Яндексе начал появляться недели через две после наполнения контентом, причём сначала только главная, за ней вскоре подтянулись с десяток второстепенных, а сейчас где-то 60% страниц в индексе, Google же почти месяц держал только главную, и только сейчас она оказалась к компании из двадцати других страниц, при общем количестве уникальных страниц на сайте около 50 и ещё пара десятков – из комбинации элементов контента. С другой стороны, домен б/у и его конкретная предыстория мне неизвестна, так что могло быть и дольше.
Sermyagin :

Сделал генератор паролей, проверку скорости интернета что нибудь еще хочется нет идеии никакой... свободно на диске 500мб 

Конвертер чисел в разные системы счисления – 10->16, 10->2, 16->10 etc

Конвертер Unixtime -> ЧП время

Генератор строф-продолжений для стихов

Генератор бессмысленной зауми по заданной тематике (космогония, астрология, эзотерика etc), конкретный пример (без выбора тематики): https://taxpert.ru/tools/rave/

Синонимайзер текстов («плавное затухание» –> «постепенное угасание»)

Анализатор частотности слов в тексте

Автопрошивка изображений водяным знаком с указанным словосочетанием

Генератор мемов

Ну и так далее.

При чём тут 500 Мб, не совсем понял? Сотню сервисов вроде вышеперечисленных можно спокойно уместить в 1-2 Мб, если только не записывать все сгенерированные результаты.

Всего: 522