⚠️ На инстансе Forgejo git.dc09.ru временно включено логирование запросов. Сохраняются IP-адрес, путь с параметрами и все заголовки кроме Cookie (ибо я не хочу читать ваши токены доступа).

Единственная цель — анализ заголовков и выявление специфических для ИИ-скрейперов маркеров в трафике.

Anubis вполне справляется, но хотелось бы уменьшить количество срабатываний PoW-капчи. Сейчас считаются подозрительными вообще все клиенты с "Mozilla" в юзер-агенте (то есть те, что являются браузерами или притворяются ими), что создаёт лишнюю нагрузку на клиенты и ухудшает UX тем, у кого отключен JavaScript в браузере либо регулярно очищаются куки (не как клаудфлэр, конечно, но всё равно можно лучше).

Тест будет последовательно повторён с разными сервисами на dc09.ru, я сообщу таким же постом.

#dc09ru #NoAI

Пара интересных находок:

Есть скрейпер(-ы?), которые применяют географически разнообразные пулы резидентских IP-адресов, ставят юзер-агент от макоси, но явно не выглядят как современные настоящие браузеры — не отправляют никаких Sec-* хедеров 
Индексатор от минималиста 

У меня Firefox тоже не отправляет Sec-CH-* (та самая замена юзер-агентам), но вот, например, Sec-Fetch-Site по-видимому реализован во всех браузерах — можно проверять его наличие для блокировки таких простеньких скрейперов.

А в первую очередь, когда задумался об анализе хедеров для более точной блокировки ботов, я вспомнил про DNT: 1 (Do Not Target, "не персонализировать"). Хоть этот заголовок добавляет один бит уникальности для фингерпринтинга, в то время как большинство сайтов никогда и не соблюдали запрос DNT, кто-то всё равно зачем-то ставит чекбокс "просить сайты не отслеживать" в настройках файрфокса, я в том числе 

Технически ничто не запрещает ИИшным компаниям включать DNT у себя в браузерах, но пока что это явный маркер человеческого трафика, насколько я знаю.

И пока проверку на DNT не развернут на достаточном количестве серверов (то есть пока компаниям не станет выгодно включать этот хедер ), возможно, безопасно пропускать всех клиентов с DNT: 1 без прохождения капчи.

Знаете хттп-заголовок "Referer"? В нём указано, с какого сайта пришёл на страницу пользователь. Из-за опечатки в оригинальном документе он называется именно так, с одной R вместо двух, и закреплён в стандарте с таким именем.

При анализе собранных логов я увидел забавное:
~0,4% запросов пришли с заголовком...
Referrer: https://www.google.com

Referrer, с двойной R, с ссылкой на главную страницу гугла.

~17,5% запросов пришли с юзер-агентом Opera Presto. Если помните, у оперы во времена динозавров был собственный независимый браузерный движок.

Я попросил er2 проверить, открывается ли вообще мой Forgejo с Престо и проходит ли проверку Anubis, и... Опера не может даже установить соединение из-за слишком новой минимальной версии TLS на дц09ру.

Это те самые скрейперы, которые притворяются старыми браузерами, чтобы, похоже, им выдавали более простые страницы (см. выше в треде, я говорил о них в контексте отсутствия хедера Sec-Fetch-Site).

@darkcat09 вот кстати всю эту инфу можно передать разрабу Anubis, особенно про старые браузеры.