Доброго времени суток, не с того я зашел на пикабу, на самом деле я еще немного занимаюсь разработкой игры, проект тянется с 2020 года, был заморожен на 2 года.
Вообще мой путь в программирование начался плюс минус с попыток модификаций сталкера…
Когда начал воскрешать, выглядело всё так
Дальнейшие шаги эволюции:
тут была сделана генерация ресурсов, которые можно собирать по планете, чтобы строить город / войска:
еще немного скринов, но уже из города (когда входишь в него, чтобы управлять постройками и юнитами)
Вот на сайте все жалуются на то, что авторского контента не хватает. Так а откуда он возьмется? Вы же сами засираете вообще всё.
Вот я опубликовал полезное видео для тех, кто хочет сменить профессию на бизнес-аналитика.
И что в итоге?
Одни минусы. Все ж дохера умные. Сразу пойдут обвинения в инфоциганстве.
Не, ну если вы хотите дальше читать посты про:
РСП Как я бросил пить Алименты Я великий трахаль, но жена не ценит Перезаливы с Reddit
Ну вперед и с песней. А как только вам выкладываешь полезный контент, так все сразу минусят типа реклама. Какая, блять, реклама? Мы же ничего не продаем вам, но все равно пидорасы.
Ну тогда живите на перепостах.
А сели все таки интересно посмотреть что-то авторское, то я пишу про этот пост.
Для ЛЛ: мой опыт борьбы с ботами на сайте. Старался кратко, но тема большая. Поэтому только основное и то много получилось.
Хотелось бы затронуть тему паразитного трафика на сайтах. Те, кто работают с вебом, периодически бывают по обе стороны «добра» и «зла»: то защищаемся от разного рода трафика, то наоборот его создаем (например, парсим данные). Последние месяцы мне приходится как раз бороться с теми, кто не является людьми, но постоянно создают пустую нагрузку на проектах.
Сразу скажу, что имею дело с разными серверами: массхостинг, vps и собственные. Инфраструктуры разные, подходы у админов тоже. Поэтому рассказываю про самый обычный способ: как найти ботов и заблокировать их на уровне веб-сервера. Под ботами имеются в виду любые автоматические системы, а не только те, которые открыто говорят про себя, что они роботы. Вряд ли открою какие-то тайны, просто расскажу свой подход. Опишу только основные моменты. Я уже и так понял, что кратко писать не умею, а тема очень объемная.
И сразу про защиту через CloudFlare. Её не рассматриваю по своим причинам, это не тема для данного поста. Но да, кто хочет, тот использует этот сервис.
Один из частых советов, которые дают при вопросе о защите от ботов - это создания списка этих самых ботов. Поэтому на поисковиках ищут ссылки на гитхаб репозитории со списком «плохих ботов». Примеров много (вот раз, вот два). Можно ли использовать эти списки? И да, и нет. Не все роботы из них перейдут на ваш сайт, а те, кто действительно создает трафик, могут и не быть в этом списке. Поэтому, если хочется, то копируем данные по ботам и добавляем в свой конфиг (или .htaccess, если у вас Apache). Но не останавливаемся на этом.
Далее нам нужны логи нашего веб сервера. Лучше всего, если у нас их много – данные от двух недель и более. Если меньше или их вообще нет, то идем в настройки веб-сервера и указываем ему, что логи надо хранить. Для посещаемых проектов лучше сразу еще настроить logrotate, чтобы ежедневно ваши лог-файлы сжимались в свой архив. Так удобнее будет их скачивать и хранить.
Допустим, логи у нас есть. Работать мы будем с access.log (далее – лог-файл), а error.log, если он не пустой, просматриваем на наличие ошибок, которые могли допустить в своих скриптах. Больше он нам не понадобиться.
Если у вас в счетчике посещаемости (пусть это будет Яндекс.Метрика) ноль посещений, то это не значит, что на сайт никто не ходит. Открываете лог-файл и видите, что сайт постоянно отдает данные всяким автоматическим системам. Плохие мы уже могли забанить (см. выше) и им на их запросы отдается 403 ошибка. С этим разобрались. Остались те, которые вроде бы пользователи, но в Метрике их нет или они помечены как роботы, а может быть и приняты за реальных людей. Часто это накрутчики поведенческих факторов. Ваш сайт может и не быть их целью, но на нем они учатся, а также прокачивают себя. Многие из них довольно примитивны. Их мы отфильтруем.
Для этого воспользуемся анализатором логов. Их много, можете взять любой. Мне, как разработчику, зашел GoAccess, т.к. я могу запустить его через Docker и мне не нужно ставить никаких дополнительные программы.
Пишем в консоле команду (взял из мануала, для базовых данных годится):
cat access.log | docker run --rm -i -e LANG=$LANG allinurl/goaccess -a -o html --log-format COMBINED - > report.html
На выходе у нас html файл с полным отчетом. Ради интереса вы можете подробно изучить статистику и сравнить ее с той же Я.Метрикой. Но для практической части нам сейчас нужен блок «Visitor hostnames and IPs». Сортировку в таблице делаем по убыванию в поле Visitors и ищем те адреса, у которых много hits и много visitors (можно и по Visitors отсортировать, если вам так удобнее).
Например, первая строка не удовлетворяет этим условиям, но мы ее все равно смотрим и видим, что это любопытный crawler, который нам не нужен и он точно будет забанен. На четвертой строке как раз нужный пациент. С одного IP много разных «браузеров». Такое бывает. Поэтому берем IP и смотрим, что это вообще такое.
Получаем, что это прокси из Люксембурга. Банить ли такой адрес? Решать вам. Как показала моя практика и анализ нескольких десяткой сайтов, за такими проксями реальных людей очень мало. Через Метрику можете найти визитеров с этого прокси и увидеть, что на сайте они почти ничего не делали, или же их действия носили исключительно автоматизированный характер. Прокси точно стоит забанить, если его клиенты одни мобильные устройства. Вот тут с 99% работа ботов. Советую также обратить внимание на то, сколько трафика эти клиенты забрали с сайта. Если мало, то это вряд ли были люди.
С большой вероятность стоит банить IP разных хостинг провайдеров: Amazon, iHor, VPSville, Cloud Networks, WestHost и прочих игроков рынка, которые пачками продают IPv6 адреса. Если ваш сайт поддерживает IPv6, то в логах вы увидите уникальную картину, когда от таких провайдеров массово ломятся всякие мобильные устройства на ваш сайт. Блокировать этих провайдеров надо не по одному IP, а блокировать все их сетки с указанием CIDR в том же .htaccess (например, deny from 2a05:fb41::/32)
Замечу, что блокировать все подряд без анализа не стоит! Во-первых, ряд прокси относится к серьезным компаниям, которыми пользуются обычные пользователи. Во-вторых, имеет место быть тенденция поднятия своего прокси/vpn на хостинге. Так что IP будет от хостинга. И если клиентов с такого IP несколько устройств, то вряд ли стоит блокировать такой адрес. Другое дело, если через него ломится целый зоопарк устройств от старых iPod и Windows 7 машин до чего-то совсем экзотического типа Wii.
Также с помощью анализа логов находим crawler, которые в начале статьи искали на гитхабе. Здесь вы можете скорректировать свой список, что-то добавить. Все же есть местечковые боты, которые тоже не несут никакого смысла.
Вопрос: почему это дерьмо вообще появляется на вашем сайте? Как я уже сказал ранее, не всем нужен конкретно ваш сайт. Да, конечно, может кто-то из конкурентов пытается за счет ПФ завалить ваш сайт в поисковой выдаче. Но вроде как эта тему уже не так актуальна и для Яндекса, и для Гугла. Но вот тема с прокачкой ботов, получения ими хорошего «fingerprint» для них важна. Да и смежная тема скликивание рекламы актуальна, где боты должны доказывать проверяющим системам, что они типа люди. Так что если у вас есть сайт, то боты к вам придут. Особенно, если сайт попал в базу тех, кто отдает этим ботам адреса. Например, есть один такой сайт в России, у которого есть свое API, за счет которого он живет, и отдает ботам домены для посещения. Сайты каталогизированы по тематикам, так что бота можно натравливать и прокачивать прямо по тематическим ресурсам. Конечно, у себя вы тоже можете забанить по referrer таких «посетителей» (в логах увидите адрес api.pf….). Но только совсем тупые боты отдают ссылку на этот сервис.
Что происходит после блокировок.
Для сайта с нормальным органическим трафиком происходит увеличение количества просмотров и визитов. Так же растет метрика «время на сайте». Все остальное почти не меняется. Да, значение посещаемости тоже просядет, но очень несильно.
Как пример, четыре дня назад обновил фильтры у одного сайта. Виден только рост метрик, проседания посещаемости почти нет.
Замечу, что «Доля визитов роботами» почти не снизится (в среднем станет меньше примерно на 5%), не ждите здесь прорыва. На это есть несколько причин. Одна из них в том, что боты все равно вернутся с других адресов. Вы просто сейчас отфильтровали один пул, но скоро появится другой. Так что это постоянная работа. Еще одна причина – вы блокировали только самых простых. Самый жир не палится так просто. У них или хорошие прокси (например, от Мегафона), где нельзя заблокировать всего провайдера, т.к. точно под замес попадут реальные пользователи, или уже хороший уровень прокачки, при котором имеем сложные движения мыши, свои локальные прокси на не стандартных портах и прочее, прочее. И есть разумные сомнения: «А бот ли это?»
Для сайтов, у которых трафик только из «людей», придется увидеть реальную картину:
Ночью обновил на одном из проектов .htaccess со своим списком фильтров. Видно, что идет просадка по посещаемости.
Это может быть грустно. Особенно, если вы запустили проект не так давно и уже думали, что ваш проект набирает обороты. Но нет, не все так хорошо, как могло показаться.
Работать с логами лучше не менее раз в неделю-две. Актуализируйте IP адреса, список ботов и сайт будет бороться с разного рода паразитным трафиком.
В декабре 2023 был уволен по неведомой причине работодателем, перед этим взял айти ипотеку, он это знал, с работодателем сохранились все записи разговоров, в том числе и те, где причина увольнения не объясняется.
Начал недели две назад искать новое место, конечно же через хх, просмотры идут, оставляю отклики - одни отказы без причин, до этого случая (увольнения) такого никогда не было
Работодатель незаконно сократил и должен по факту еще около миллиона рублей, 20 числа платеж по ипотеке, что делать - пока не знаю (в трудовую инспекцию уже отправил жалобу)
Попросил уже и друзей всех и знакомых, помочь с поиском, пока нет результатов
Если у кого есть возможность помочь с трудоустройством - буду невероятно благодарен, рассматриваю даже вариант, что сам буду давать деньги на зарплату - чтобы закрывать ипотеку ,а сам хоть на фриланс
Привет пикабушникам, нужна помощь. Что-то навертел в браузере Edge, каждый раз требуется теперь вводить пароли, для Gmail ещё и на телефоне подтверждать. Как избавиться?
Имеется старенький(10 годиков) ноутбук на восьмерке. Чихает, пердит, но если сильно не грузить, работает пока, тьфу-тьфу. Так вот, нужна замена клинеру и авасту, лан клинер хрен с ним, но без антивируса ощущение что гол как сокол. Будьте добры, посоветуйте не тяжелый и более менее нормальный бесплатный антивирус, подходящий для пожилого железа. Чтобы ну хотя бы что нибудь ловил, не блочил нужные сайты и в целом не хулиганил.
Я вошел в топ 100к пользователей LeetCode. "Фигня!", скажете вы. Может и фигня, но для меня это охренеть какое достижение - еще недавно я был за пределами топ 300к!
А еще у меня было очень много моков.
За прошедшее время я провел порядка 5 разных моковых интервью - и что характерно, ВСЕ они были с людьми из Нидерландов. Воздух у них какой-то особый, что ли. Я прям как изгой какой-то со своим Кипром. Что характерно - ни один мок не завалил, но справедливости ради, мне и вопросы попадались довольно легкие - пара на стек, один на sliding window, парочка на heap. Я в свою очередь с выбором вопросов заморачивался, поэтому у меня были и бинарный поиск (в rotated массиве, чтобы жизнь сказкой не казалась), и топологическая сортировка, и хитрая задачка на reorder связанного списка. В общем, мои вопросы пока еще никто с разбегу не решал, что, наверное, хорошо. Во всяком случае, я подсвечиваю моим будущим конкурентам за вакансии слабые места.
В общем, хорошо, что алгоритмы идут плавно - это поддерживает мою самооценку, потому что системный дизайн идет очень трудно. В курсе довольно сложный английский в плане построения предложений, плюс сам материал непростой, плюс сейчас идут прям фундаментальные основы, которые надо знать и понимать. Врагу не пожелаю читать про ребалансировку шардов БД на английском. Приходится перечитывать материал по несколько раз, плюс повторять на следующий день, чтобы закрепить. Самое интересное - я прекрасно понимаю, что вряд ли мне придется на интервью залезать в такие глубины - если только мне сильно не повезет, и интервьюер не захочет узнать, как хорошо я понимаю, как работает WAL и чем он отличается от логической репликации. Но я хочу понимать, вот в чем штука. Хочу не просто выучить, как задизайнить Netflix, а быть способным понять, почему все именно так, а не по-другому.
В общем, я чувствую себя так, будто из кодера превращающусь в программиста. Это, в принципе, круто само по себе, без всякого FAANG.