Comments 142
Что-то на своём сайте я не вижу каких-либо особых ростов нагрузки ботами. 😔Меня даже боты AI в интернетах игнорируют😔.
Неуловимый Джо?)
А я вижу, положили один старый интернет-магазин, который я ** лет назад сделал, и неделю он просто не работал, потом стал еле дышать под нагрузкой и отваливаться.
И что с этими делать - непонятно, отрубить кучу разных ботов Nginx-ом особо не получается, возиться мне с этим сильно неохота, а CloudFlare туда тоже не подключишь.
Фактически эти краулеры просто убили небольшую компанию, которая мирно работала лет 20 и горя не знала
fail2ban
Ах, если бы
Современные краулеры СУПЕР распределенные. Тоесть мы говорим о тысячах если не десятков тысяч разных адресов. С каждого конкретного количество запросов невелико.
новичок чи шо? сорри за напор
лол, при настройке VPS fail2ban идет по умолчанию уже автоматом и то в логах банит по два айпи в секунду стабильно (бывают пики) которые пытаются в ssh попасть перебором
а веб-порталы это совсем другое пальто и там тем более по IP строго резать нельзя
К сожалению даже с ssh уже научились распределять сканирование.
wazuh, safeline, bunkerweb, crowdsec и у fail2ban есть готовый набор для nginx
P.s. Разворачивая свой WAF: открытые инструменты https://habr.com/ru/companies/beeline_cloud/articles/926196/
В нгинкс прям встроен же ликибаскет и возможность по ip отдавать столько, сколько хочешь
1000 запросов с разных IP и User-agent на тяжёлые точки типа поиска по каталогу всё равно положат сайт, потому что их не отличить от нормальных юзеров. Тут разве что CF справится, надо анализировать правильно запросы и быстро дропать их. При этом не дропнув живых пользователей..
Я как-то не верю, что легитимные сервисы долбят с разных ip и с тысяч их. Ну и в конце-концов можно побанить ip датацентров итп. Былиж списки.
А еще для российского ИМ можно побанить всё зарубежное, раз уж речь прям о существовании бизнеса...
Побанить зарубежное было бы хорошим вариантом (лишь бы ВПН не забывали выключить), но нужно как-то подключить geoip... Но за мысль спасибо, подумаю. Вообще ж не хотелось возиться с пожилым сервером..
Как идея - можно попробовать добавить honeypot в виде какой-нибудь скрытой ссылки, которую живой человек не увидит, а бот попытается соскрапить.
Побанить зарубежное было бы хорошим вариантом (лишь бы ВПН не забывали выключить)
С большей вероятностью проигнорят вас, если альтернативы есть.
(вспоминая некоторые магазины, которые так делали. а некоторые ещё и ошибались в geoip, и блокировали вполне нормальных пользователей. потому что пользовательский провайдер ещё и хостингом занимался, и его классифицировали как хостера).
Фактически эти краулеры просто убили небольшую компанию, которая мирно работала лет 20 и горя не знала
А почему убили, с ростом нагрузки не выросли продажи?
Может, сайт кривовато сделан? Про массовые падежи магазинов от набигания краулеров что то не слышно.
Знаете, бывают такие покупатели в магазинах одежды - заходят, перемеряют кучу всего, но ничего не покупают и изначально не собираются, только примерочные занимают.
Вот и краулеры так же, разве что селфи из примерочной не постят.
Меня даже боты AI в интернетах игнорируют
Следующий!
У меня другая проблема - прислали ссылку на фикс проблемы, а получить не могу - сайт говорит что я робот, мой браузер не полюбил.
сайты разные-то бывают. у тебя хоум-пейдж или коммерческий проект? поподробнее пожалуйста
Что-то я не понимаю, откуда берутся все эти "до 50%" трафика. Ведь казалось бы, ИИ, которые учатся на общих данных в инете, как сущностей очень мало - ну несколько десятков/сотен в мире. Поэтому, по-умному, боты каждого такого ИИ даже на десятках тысяч серверов должны распределять между собой список сайтов для посещения и каждый, посетив свой список, должен делиться информацией с другими серверами ИИ. Получается, что нагрузка на обычный сайт инета практически не увеличивается. Но раз это не так, то выходит, что каждый из десятков тысяч серверов ИИ, имеющий бота, независимо от других серверов сам проходит весь нужный список сайтов инета и обновляет только свою базу. Или я что-то упустил?
Ну, у нас вот self hosted GitLab у компании был (кажется, на AWS). Заметили, что git дико тормозит. Оказалось, что бот Антропика (по крайней мере, так мне сказали) уже неделю в цикле выкачивает весь контент единственного публичного репозитория. Или бинарники из этого репозитория, уже точно не помню. Там контента всего несколько сотен мегабайт. Он качал его по кругу в течение недели, с разных IP-адресов. Настолько интенсивно, что работать стало невозможно (минимальная загрузка процессора 30%). Решили проблему закрытием репозитория.
Может бот невероятно тупой, может ботов невероятно много, может Антропик подумал, что зачем тратиться на петабайты места, когда можно просто дёргать данные со всего интернета оттуда, где они лежат? Возможно сочетание этих факторов или ещё что-нибудь.
может Антропик подумал, что зачем тратиться на петабайты места, когда можно просто дёргать данные со всего интернета оттуда, где они лежат
Скорее всего это так. Но не из экономии, а потому, что там могут быть защищаемые законом данные (причем в разных странах разные). Если все это хранить, то рано или поздно будет утечка с неприятными последствиями, тем более, что желающих хайпануть на богатой компании всегда достаточно. А так - взяли, использовали, забыли, всё в оперативке, ничего лишнего не лежит, протекать нечему.
А так по кругу - взяли, использовали, забыли, всё в оперативке, ничего лишнего не лежит, протекать нечему. Взяли, использовали, забыли, всё в оперативке, ничего лишнего не лежит, протекать нечему. Взяли, использовали, забыли, всё в оперативке, ничего лишнего не лежит, протекать нечему. Взяли, использовали, забыли, всё в оперативке, ничего лишнего не лежит, протекать нечему. Взяли, использовали, забыли, всё в оперативке, ничего лишнего не лежит, протекать нечему...
Хотели, как лучше, а получилось как всегда.
Я думаю тут нагрузка не только от краулеров гигантов отрасли. Кто-то делает RAG системы и также краулит ваш сервер. А возможно они просто периодически мониторят обновление информации на вашем веб сайте.
Они не только для обучения, иногда (в статье сказано кстати) еще и при формировании ответа на конкретный запрос через RAG.
А еще - у меня например больше тысячи посетителей в час. вот только почему то большинству из этих "посетителей" ну очень интересно мой git.mydomain.com (на forgejo - форк gitea) а конкретно - зеркала некоторых опенсорс проектов и ходят они из США и немного германии и нидерландов.
Я думаю им просто плевать. Стоимость трафика для владельцев сайтов это внешние издержки, которые их не волнуют. Их задача - получить данные, и они решают ее самым прямолинейным способом
Это может быть так, но тогда они получают жесткую войну владельцев сайтов против себя. Хотя можно было бы обойтись джентльменским соглашением.
А после этого например Cloudflare в админке добавляет галочку на блокировку этих ботов по умолчанию (да - и на бесплатных тарифах тоже), админ сайта конечно же может отключить. https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/ https://developers.cloudflare.com/ai-crawl-control/ например а также милые фичи вроде AI Labyrinth - https://developers.cloudflare.com/bots/additional-configurations/ai-labyrinth/ (по сути спецловушка). И не стесняются случаи совсем уж грубых нарушений делать публичными - https://habr.com/ru/news/934700/ например (в статье правда комментарии Perplexity не приведены толком, с их точки зрения - это НЕ индексация и игнор robots.txt и прочего конкретными запросами нормально потому что это RAG).
Разумеется opensource решения тоже есть.
Сильно подозреваю что с точки зрения той же Cloudflare решение проблемы это... https://developers.cloudflare.com/ai-crawl-control/features/pay-per-crawl/what-is-pay-per-crawl/
Это не краулеры, это юзеры спрашивают Claude -> бот читает страницы -> отвечает юзеру.
По этой причине они игнорируют robots.txt, так как по-факту это не роботы, а "умные браузеры". Юзер обычно им даёт или ПРЯМУЮ ссылку, или бот вообще может кликать за юзера мышкой.
Это дошло до того, что некоторые агенты вообще могут делать покупки за пользователя.
То есть, вместо того, чтобы хранить репо у себя и обновлять хотя бы раз в сутки, они предпочитают читать живые данные на каждый запрос?
По сути имеем возможность заддосить практичски любой сайт с помощью ИИ чатов, отправляя в чате ссылки на определённый сайт.
Так как бесплатные тарифы есть у всех "умных" ИИ - маштабирование оойдётся недорого.
Если можно выявлять паразитные краулеры, то зачем заморачиваться со всякими зип бомбами? Не проще ли наглецам отдавать пустую страничку? Пусть у себя поставит галочку, что ловить здесь нечего.
Или вам очень хочется испытать чувство мести?
Лучшая защита - это нападение. Если разработчики краулеров считают нормальным игнорировать robots.txt и бомбить запросами, пусть платят больше за ресурсы, может это заставить их не вести себя по скотски.
40 лет назад, возможно, zip бомба была бы проблемой. Сейчас, я уверен, все умеют проверять content size && compress ratio.
В gzip размер контента идёт в конце сжатого файла. В норме эффективнее начинать распаковку не дожидаясь полной загрузки и, следовательно, не зная размера контента. Кроме того, в этом поле можно и наврать.
Ну и размер полученного контента неплохо проверять.
А нельзя просто добавить таймаут для времени распаковки и лимит по использованию памяти? Если происходит превышение, то останавливать распаковку и игнорить архив.
Заголовок Content-Length содержит количество байт, которые будут переданы через соединение, а не размер контента до сжатия. Коэффициент сжатия не указывается ни в http-заголовках, ни в передаваемых данных. Есть поле ISIZE в заголовке блока сжатых данных, указывающее размер данных до сжатия, но оно необязательное. Так что невозможно заранее определить, сколько ресурсов придётся затратить на распаковку гзипанного контента.
Можно заранее установить лимит памяти для контента.
Можно, но придётся усложнять код. Если в норме распаковка контента происходит под капотом http-клиента, то для установки лимита вместо одного вызова вроде content = httpClient.get(url) придётся написать собственный http-клиент и собственный алгоритм распаковки контента. Или можно лимит использования памяти контролировать со стороны операционной системы, а не в коде, но тогда вместо использования легковесных потоков для загрузки контента и пула потока для его парсинга придётся использовать полновесный процесс на каждый запрос, а это опять же повышенный расход ресурсов.
Ну, если хочется реально напакостить, то отдавать надо не зип-бомбу, а всякую мусорную инфу косящую под ценный материал. Пускай ИИ обучается. На здоровье!
Отдать пустую страницу вариант хороший, но еще лучше отдать 429 Too Many Requests или 503 Service Unavailable с заголовком Retry-After на большое значение
Хороший бот поймет намек и снизит частоту или уйдет, плохой просто продолжит долбиться
В этой истории интересно другое, если сайтам плохо от одного одного бота, значит даже простейший dos они не переживут. Нужно просто рассматривать это как dos-атаку и защищаться соответствующе (рейт-лимиты, капчи, замедления(шейпинг), cdn для статики)
Деньги веб мастеру на все это кто даёт ? Зачем все эти навороты страничке с парой сотен уников в день ?
если это мало-мальский бизнес, то есть же сервисы ddos-защиты, подключение к которым совсем простое и берут они не очень много денег (или условно бесплатно при малом трафике). просто если это бизнес, то получается что могут конкуренты задосить скриптом на баше в один поток
а если это не бизнес (пет-проект, некоммерческое и т.д.) и хостится на виртуальном хостинге без защиты или на vds-ке (тоже без защит), то да, страдания от ботов/краулеров
Скрипт на баше пойдет с одного IP. Эти же гады ползут с тысяч разных, это DDOS
Большая часть маленьких сайтов хостится даже не на VDS, а на каком дешёвом виртуальном хостинге, просто потому что они мало кому нужны, чтобы их кто-то ещё ддосить начал. Но если кто начнёт ддосить, то с лёгкостью убъёт их.
недавно поймал gpt бота на личном opds сервереs , куда никто кроме меня и не ходил. Пришлось пароль ставить.
Скреперы коммерческих LLM — это вполне себе ботнет. Они и в 100 потоков могут долбить. И с разных IP.
Понимаете - плохо им от конкретных endpoint-ов, которые боты тупо бьют постоянно. Есть "тяжёлые" операции и лёгкие. Если вам бот запросит скачать архив всего git-репозитория, много раз - это тяжёлая операция. И это не статика.
А дальше - или закрывать скачивание snapshot-ов от неавторизованных пользователей (плохо на открытых проектах), или делать что-то ещё подобного же уровня. В итоге законные пользователи страдают, боты продолжают долбить.
Не любитель таких мер, но за игнорирование robots.txt и нарушение лимитов, и зип-бомба норм. А особо конченным, я бы ещё и промпт-инъекции попробывал отдавать.
Да эти зипбомбы обходит 1 строчка,
content = await response.content.read(10000000)
и aiohttp просто не будет читать дальше.
Тогда придётся класть полезный контент в конец тарбомбы и научать вебстраничку это есть. У мясного пользователя такая страничка одна, его браузер её прожуёт. А у злоумышленников роботоводов таких страничек много, а память дорога.
Хотя это, конечно, плохо.
Так это ж краулеры, а не реквесты самих чатботов, им ваши промпт инъекции по барабану. Врядли там какой-нибудь самомодифицирующийся код.
Вообще-то если робот качая данные с сайта кладет сайт то проблемы с сайтом. Хостите чистый НТМ и проблем не будет.
Отличная позиция. Если проблемы с интернетом, не пользуйтесь интернетом. Если разводят мошенники, зарабатывайте столько, чтоб отдавать каждому мошеннику по паре миллионов.
В общем речь о том, что есть большое количество мелких сайтиков которые не защищаются танками и рвами с водой, а просто работают, потому что в целом они никому не нужны чтоб их атаковать и ценности у них тоже особо никакой нет. И тут крупные корпорации начинают им мешать, даже не осознавая этого и игнорируя robots.txt, причём целенаправленно игнорируя. Логично, что люди этим не довольны.
ценности у них тоже особо никакой нет.
Если бы ценности не было - эти краулеры туда бы не ходили.
Кроме того, тут же явное противоречие в концепции использования получилось, которое раньше меньше срабатывало: этот сайт сделан и не под паролем для чего? Для того, чтобы его найти и посмотреть кто-угодно мог. Ну, вот и ходят 'кто угодно'. Проблема только в том, что их много.
А если робот падает от зип-бомбы, то с роботом.
Серьезная проблема. Одно дело человек, который пришёл на сайт и спокойно работает с ним. Другое дело агрессия ботов, которые без разрешения, агрессивно воруют информацию. В целом этим корпорациям плевать на все права и лицензии. Их задача это деньги. Деньги для них важнее людей и их мнений. Годами они навязывают нам, авторское право, ограничения лицензии, патентные ограничения, иллюзию чесности, а сами все везде вароют, в гонке за наживой.
ПС: не все сайты должны выдерживать огромные нагрузки. Простые сайты, размещены на простых тарифах и дешевых серверах и скажите спасибо что они делятся информацией и их поддерживают.
Но если пришёл враг в виде агрнсивеого ИИ бота, то пусть откусит.
Идея: нужно создать, единого координатора ботов. Чтобы каждый ботов имел свой номер. Чтобы сайты понимали кто к ним пришёл.
"Паспорт хорошего бота"
воруют информацию
Вы же сами выложили ее в интернет.
Смотрите, вот есть такая вещь как кроссбукинг. Люди поставили на улице шкаф и оставляют в нём книги друг для друга бесплатно. А потом кто-то вдруг обосрал всю лужайку вокруг, а книгами подтёр задницу. Вроде и говно для газона — это удобрение, вроде и книги отдавали бесплатно.
Другое дело агрессия ботов, которые без разрешения, агрессивно воруют информацию.
Вот если бы оно один раз пришло, своровало к себе в архив и дальше с ним работало - этой проблемы бы не было.
Тут либо явно кэшировать не хотят (из-за воплей "зззапретить собирать информацию для обучения"), либо все общая паршивая кэшируемость современного Web влияет.
Положить это все в какую-нибудь IPFS - и сразу сильно легче станет.
Нужен реестр в ркн завести. Чтобы ваш бот был с А+, нужно будет к боту добавить бота ркн с правами админа и прислать фотографию паспорта.
Какую огромную нагрузку может создать бот на простой сайт который по https отдаст статический контент? У вас в 90-е больше пользователей на сайты заходило а производительность серверов была ниже чем сей час у любого виртуального сервера.
Мало какой сайт сейчас реально статическую страницу отдаёт
Вы хостите у себя тяжёлый гит-репозиторий. Бот раз в секунду дёргает "скачать архив всего репозитория".
Сервер честно проходит по репозиторию, проверяет что он не изменился и начинает паковать. Даже если кэш есть - всё равно тяжёлая операция. И такого много.
Или хитрый поиск, или что-то ещё. (С учётом критического падения качества гуглопоиска по сайтам - поиск придётся оставить внутренний).
На своём сервере подключил GeoIP, по мимо стандартных методов фильтрации, заблочил пол мира.
Включая соотечественников с VPN?
Не в вашу сторону плевок, но напомнило умников из всяких Почт России и мобильных операторов - идиоты поставили полный геоблок на иностранные айпи, не подумав, что они оказывают такие услуги как международные отправления и роуминг и их клиенты могут находиться вне страны
Некоторые интернет-магазины вроде озона - тоже. Что еще хуже - они сделали это криво. Приложение озона похоже много где webview использует. В результате при включенных средствах антизамедления youtube запросто можно получить что часть приложения (та что по API или кеш использует) работает а часть что через webview - белые экраны.
Некоторые околофинансовые сервисы в России идут еще дальше. Есть сайт (использующий api) и api. оба за cloudflare. api под геоблоком, сайт НЕ под геоблоком, разбирайся пользователь почему у тебя нифига не работает.
Пришлось из-за такого покупать другу билет на поезд, потому что он был в отпуске в другой стране и сайт ржд не открывался.
Включил на сайтах Лабиринт от cloudflare - пускай развлекаются. Нагрузку реально дают большую и ходят день за днем.
Посмотрел на одном из наших сайтов за последний час: GoogleBot - 9151, OpenAIBot - 3593, BingBot - 3492, MetaExternalAgent - 2072, AdsBotGoogle - 1007. Запросы от клиентов - 3149. Ну, как бы да, но ничего страшного в этом не вижу. Это же тоже для дела.
Эта задача похожа на те, что выполняют вредоносные биткоин-майнеры. Сами разработчики вдохновлялись популярной антиспамерской системой Hashcash из 90-х.
Можно просто добавить таймаут к потенциально нежелательным запросам.
В идеале конечно, направить бы бота на полезную работу - майнить битки.
А может пострадавшая сторона сделать бот, который будет бомбить запросами все ресурсы этих аи-диотов? Мне кажется, соотношение сил явно не в пользу ии- ботов
У нас, на широко известном в узких кругах сайте, AI-краулер одной известной конторы трафик раз в 20 поднял. Бомбил сайт какими-то огромными запросами по 28-30 килобайт, в которых был прописан путь в 28k+ символов ко всяким заведомо несуществующим файлам. Запросы шли в параллель с сотен разных IP из сетки этих самых AI-маньяков.
Хорошо, что сайт хостился на нашем, весьма мощном сервере, и, кроме лёгких тормозов для обычных пользователей, ничего не случилось. Эдакое нагрузочное тестирование получилось.
После этого случая начали помаленьку внедрять рейт-лимит на всех своих публичных сайтах, куда ранее пускали всех посетителей без ограничений.
Настроить RateLimit и отбивать 429 Too Many Requests реально снижает нагрузку? Или один фиг же серверу надо запрос проанализировать и отбить, а это процессорное время.
Как минимум позволяет не исполнять логику запроса. Как максимум - отдать ошибку должно быть быстрее, чем отгружать контент
В нашем случае сработало. Возможно, 429 ошибку некоторые боты больше уважают, притормаживая или даже вставая на паузу. А на жёсткий отлуп типа 403, похоже, просто меняют IP и продолжают бомбёжку дальше.
А зачем отдавать 429? Просто не отвечать
Не портите интернет. Задолбали сервисы, которые молча не реагируя не работают. Сами же влетите на ограничения, а потом будете думать "а что пошло не так-то?"
"это я? это провайдер? это браузер? это сервер? кто виноват? и что делать?"
Скажите спасибо тем, кто использует сервисы не по назначению.
Поддерживаю!
Если нейронки берут информацию с сайта, это одно. Но если за это приходится ещё и платить, то это уже похлеще, чем DDOS-атака! Одно дело, когда вот так атакуют крупные компании и совсем другое, когда убиваются маленькие фирмы или вообще любительские сайты.
Когда слышал про то, что будущее интернета - это его фрагментация, сначала казалось невероятным. Потом стало очевидно, что это уже как бы есть, но искуственно. А вот теперь происходит естественный процесс. Теперь если делаешь сайт или сервис только для себя и ограниченного круга людей, то придётся отгораживаться.
Пишем в лог (ip, HTTP_USER_AGENT), ну и время посещения.
Если данный (ip, HTTP_USER_AGENT) уже заходил в предыдущие 2 секунды (ну или 5 секунд) - выдаём ему ⟨!DOCTYPE html>⟨html>⟨body>⟨/body>⟨/html>
И отпугиваем всех обычных пользователей, которые случайно даблкликнули ссылку или решили открыть много вкладок за раз для последующего чтения
А отдавать упомянутый выше "429 Too Many Requests" с установленным Retry-After не поможет? По идее, браузер должен подождать, сколько сказали и снова попробовать, без пользовательского ввода.
Поисковик понизит рейтинг сайта, и через поиск никто из человеков никогда его не не найдет. Выколю себе глаз, пусть у тещи зять будет одноглазый.
После чего - когда у пользователя рестартует браузер с сохраненными вкладками рестартует (ну или группа вкладок выводится с suspend - если стоит что-то вроде вроде The Great Suspender/The Marvellous Suspender) - у пользователя полное впечатление что глючит сайт. Он пройдет по части таким вкладкам и прожмет F5 и получит тоже самое. Ладно сейчас в России - первое что подумает пользователь что РКН опять расшалился но если у пользователя средства антизамедления настроены корректно и он в этом уверен то что ? Вопросы будут уже к сайту глючному.
У меня такие боты видны в соединениях, как запросы с одного пула IP. Добавляю в бан сразу весь пул. Где-то около 10 диапазонов IP забанено таким образом, а нагрузка от ботов уменьшилась до приемлемых значений
Тоже попадал, интернет магазин положили, CloudFlare спас )
Получается ИИ компании сначала бесплатно взяли весь наш контент для обучения своих моделей, а теперь мы еще и должны платить за трафик, который эти модели генерируют, чтобы отвечать на вопросы наших же бывших читателей. Гениальная бизнес-модель
Идея красивая, но завтра краулеры научатся проверять Content-Length или ограничивать память на распаковку, и придется придумывать что то новое.
Сервисы вроде Cloudflare с их проверкой браузера, которые отсекают большинство простых ботов еще на подлете - более системное решение
Забавно. Распознав бота учите его противоположным вещам и получите цырк уродцев.
Разве zip-бомбы не легко отфильтровать? Например, если коэффициент сжатия превосходит некоторую практическую величину (напр. 10), то можно дальше не продолжать. Вряд ли это существенно перегрузит современное оборудование.
Отдавать gzip бомбу
Генерировать 100гб после распаковки
Ограничить скорость скачивания файла до n-кбит\с
Разумеется через проход по honeypot ссылке или еще какому признаку
Как вариант просто отдавать страницу на запредельно низких скоростях как на ранних этапах развития сети
На такое могут попасть и обычные поисковики, а ещё, на маленькой скорости отдавать страницу – все равно наш сервер забьется большим количеством открытых подключений, а их количество обычно ограничено
Кол-во подключений да, но это зависит от ситуации, в моем частном случае, средний пик нагрузки от реальных пользователей где-то около 0, но с приходом краулеров, он растет на 20-40% нагрузки, и забить канал при таком кол-ве живых пользователей или поисковиков, кажется несколько не существенным (сервер исключительно для экспериментов).
Что до поисковиков, то отсекаются по UA в большинстве случаев. Готовый список таковых есть в сети (или у ИИ, в случае если в гугле\яндексе забанили)
вот хз за нагрузки, но с недобросовестными пауками уже лет 5 как успешно боремся "зазеркальем"
На всех страницах есть множество "левых" ссылок которые выглядят как внутренние, но они не видны пользователю ни под каким соусом и самое главное они блочатся по robots.txt
То есть по ним переходят только недобросовестные пауки. А на выходе nginx прямо перекидывает всех их на вообще другой не боевой сервер где рекурсивно отдается статика с сгенерированым фронт-ендом. Фронт генерится из кусков как пазл, плюс раз в неделю по крону ети куски еще и прогоняют обфускаторами с новой солью.
А суть фронта в том что бы эмулировать "антибот-защиту" по типу ожидайте загрузки страницы, страница грузится fech-запросами а не напрямую и тд. Причем сделано так специально что бы оно вращалось бесконечно при этом по максимуму используя JS.
Плюс такие станицы имеют еще больше "зазеркальных" ссылок
То есть у нас для пауков отдельный сервер нагрузка которого не критична, плюс вся нагрузка из мгновенной отдачи статики, а весь цимес уже на фронт-енде крутится.
Из забавного - сервер всегда нагружен, то есть там постоянно кто то бродит по зазеркалью хотя его даже не обслуживали уже давно. Делалось на тест и как фича выходного дня, а вон как оказалось (В свое время сняло нагрузку с основного сервера на 40-60% где то, в основном фейсбук потому как много там ссылками делились нашими).
Например, один веб-мастер показал графики из системы аналитики, как краулер GPTBot от OpenAI израсходовал 30 ТБ трафика на его тарифном плане за месяц, то есть все его файлы общим объёмом 600 МБ были выкачаны примерно 50 тыс. раз:
смотрим на эту дичь:
Буквально сегодня утром я получил счет от DigitalOcean о том, что в прошлом месяце у меня была стоимость полосы пропускания в размере 150 долларов. Оказывается, только с прошлого месяца сканирование GPTBot от OpenAI стоило мне 30 ТБ пропускной способности, что эквивалентно загрузке всего каталога 50 000 раз.
без усложнений - Кто получает деньги? Тот и инициатор!
покатали трафик на соседний раздел и списали всё на OpenAI.
Вот куда ушла вся оперативка)) На zip-бомбы))
Zip-бомбы против агрессивных ИИ-краулеров