Dram

Рейтинг
1115
Регистрация
28.06.2008
Andreyka:
С куками - не вариант.
Делайте отдельный лог для css/js и анализируйте его вместе с полным.

Хорошаяя идея только немного так


map "$whitelist:$server_protocol" $log {
default 0;
"0:HTTP/1.1" 1;
}

+ в сервер

access_log /var/log/nginx/access.HTTP1.1.log combined if=$log;

Теперь у меня HTTP1.0 отрезан

На HTTP2.0 ботов пока мизерное кол-во (не знаю может и нет совсем)

и есть отдельный лог HTTP1.1 в котором нет запросов от поисковых ботов.

Вот в этом логе еще достаточно ботов, прошедних основной фильтр.

Теперь его по крону можно анализировать (на предмет айпи которые не запрашивают картинки) и заносить черный список (отдельный файл) который инклюдить сюда же в Nginx.

Тут есть нюанс - могут появляться новые подсети поисковых ботов (хороших), поэтому если у запросов юзерагенты - |YandexMobileBot|YandexAccessibilityBot|YandexDirect|YandexImages|Yahoo|Mediapartners-Google|YandexBot|Googlebot|msnbot|bingbot|Mail\.RU нужно не банить сразу, а отправлять мыло админу чтобы посмотрел руками.

Сам такое не реализую ибо не кодер совершенно, надеюсь кто-то поможет...

G0gA:
У вас есть такое?

Вы бы сами на такое клиникнули? Все в чем сомнения - в бан.

---------- Добавлено 24.01.2017 в 22:08 ----------

Сегодня с обеда ни одного Якубовича и т.п. - подозрительно....

Сентябрь че то бред какой-то вы написали....

Вот какая мысль пришла - использовать $request_uri но не могу сообразить как прописать чтобы НЕ Включать это в лог.


map "$whitelist:$server_protocol:$request_uri" $log {
default 0;
"0:HTTP/1.1:~*^/images" 1;
}

+ в секцию сервер

access_log /path/to/access.log combined if=$log;
jellymoon:
сделал как у вас, но почему то адреса которые я прописал таки попадают под лимит

Приведите пример как прописали и чгео хотите добиться? Сайт у вас на https, есть ли http2 ?

нагуглил и проверил (работает) правильнее так

access_log /path/to/access.log combined if=$log;

А не подскажите как теперь в условие добавить чтобы не писало запросы к картинкам, ксс и js ?

Самый дешевый, стоит 3 мес. на 7 сайтах, проблем нет http://www.comodorus.ru/ssl/detal/comodo_ssl/11

Ну к примеру условие упростим до такого

map "$whitelist:$server_protocol" $log {
default 0;
"0:HTTP/1.1" 1;
}

С $log потом что делать?

Все же подумал еще раз - черный список излишен для даного конфига. Единственное чтобы сюда еще прикрутить - это детект тех кто не грузит стили и js

А не знаете как такой фрмат подсетей 5.9.0.0 - 5.9.255.255 всунуть в geo nginx ? Там ведь вроде диапазоны нельзя?

Dimka:
может лучше найти список ip этих ДЦ?

Конечно лучше, но я не смог нарыть даже подсети Хедзнера и OVH хотя бы...

Всего: 6928