Dram

Рейтинг
1115
Регистрация
28.06.2008

А я вот еще что придумал. пересобрал nginx с модулем --with-http_geoip_module

geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code:$whitelist:$server_protocol $allowed_country {
default no;
"RU:0:HTTP/1.1" yes;
"RU:0:HTTP/2.0" yes;
"RU:1:HTTP/1.0" yes;
"RU:1:HTTP/1.1" yes;
"RU:1:HTTP/2.0" yes;
"US:1:HTTP/1.1" yes;
"US:1:HTTP/2.0" yes;
"UA:0:HTTP/2.0" yes;
"BY:0:HTTP/2.0" yes;
"KZ:0:HTTP/2.0" yes;
}

+ в нужный хост

if ($allowed_country = no) {
return 503;
}

503 ошибку сделал специально ибо у меня лог отдельный идет

~*503:.*(yandexaccessibilitybot|yandexdirect|yandeximages|yahoo|mediapartners-google|yandexbot|googlebot|msnbot|bingbot|mail).* 1;
}

+ еще обший лог для протокола 1,1

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

Сижу просматриваю кто "попался" - очень много разных сканеров из США и Европы (по протоколу 1,1) + совсем немного живых людей.

Вайтлист обновил этим

# opera-mini.net
82.145.216.0/22 1;
107.167.96.0/19 1;
185.26.180.0/23 1;
37.228.104.0/22 1;
82.145.208.0/21 1;
37.228.111.128/26 1;
141.0.14.0/23 1;
82.145.220.0/22 1;
141.0.12.0/23 1;
141.0.8.0/22 1;
G0gA:
Стоит писать?

Конечно стоит и лично я очень прошу Вас это сделать!

ИДЕЯ - обычно все крупные компании реагируют на статьи, их дискридитирующие - на ХАБРЕ.

Есть тут юзеры с репутацией, которые смогут создать и опубликовать такую статью?

Так и есть - говна все больше и я только что понимаю, почему мой конкурент (посещаемость в 5 раз больше моей, лидер ниши) снял адсент 2 мес. назад, оставил только яндекс..... я все думал нафига... теперь понимаю и сам начинаю об этом же думать.

Касательно map $http_cookie родилась идея...

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

А может ли Nginx проверять вообще наличие како-либо куки, все равно какой?

Скоро на фрилансе появятся новые вакансии - "Чистильщик *овна в Адсент", работа на постоянной основе в офисе, в Москве, жилье предоставляем + соц. пакет и оплачиваемый отпуск.

Vintik_:
Сегодня не должно быть якубовичей и прочего шлака со звездами (именно этого) ;)

Проверьте у себя.

Сегодня этого овна много как никогда !!!

'[umka:
;14896680']Похоже, это для какого-то конкретного движка было сделано.
Проверка не делается, если в запросе есть перечисленные аргументы.

Да это известный код - делался для Вордпресса и Джумлы в период массового брута админок. Я же хочу понять как грамотно проверять куку чтобы не банить живых юзеров. Я пробовал проверять куку _ym_isad которую ставит яндекс метрика, она у меня на всех сайтах одинаковая.

А чем ваш код лучше этого?

map $http_cookie $cookie {
default 1;
~somecookie 2;
}

map "$whitelist:$server_protocol:$cookie" $limit3 {
default "";
"0:HTTP/1.1:1" "$binary_remote_addr";
}
limit_req_zone $limit3 zone=bot_cookie:10m rate=2r/m;

В вот это не врублюсь что делает?

if ($args ~* (callback|logout|lostpassword)) {
set $humantest 0;
}
Всего: 6926