Оптимизайка

Оптимизайка
Рейтинг
396
Регистрация
11.03.2012
Интересы
Программирование, информационные технологии, наука
Илья Артурович:
есть ли способы еще каким-нибудь образом сделать такую выборку?

https://dev.mysql.com/doc/refman/5.6/en/regexp.html

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

Это же системный файл корневых сертификатов, зачем вообще его трогать.

iccup:
А какая разница между "за деньги" и способом приведенным выше?

Судя по этой документации Cloudflare:

https://support.cloudflare.com/hc/en-us/articles/200171426-Why-can-t-I-block-by-country-in-the-IP-Firewall-

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

А блокировку на уровне nginx можно сделать вне зависимости от тарифного плана cloudflare.

Если нужна именно блокировка, а не иные действия, то конечно лучше проводить её на уровне самого cloudflare, если в вашем тарифном плане это допустимо.

Zak2009:
1к\сутки на каждом на 8-ядерной впс.

почти 2 запроса в секунду на восьми процессорах? Не может такого быть :D

zin4:
А как хостинги с 30-50 мелкими сайтами обходят этот закон?

Почему обходят? Если глянуть статью на википедии, то должно стать понятно, что нет линейной зависимости. Т.е. "10 старушек = 10 рублей, 20 старушек - 15 рублей, 30 старушек - 20 рублей, а толпа старушек - останешься должен".

zin4:
Объяните на пальцах, почему в распредлении мощности не работает логика "10 старушек = 10 рублей"

Закон Амдала:

https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD_%D0%90%D0%BC%D0%B4%D0%B0%D0%BB%D0%B0

---------- Добавлено 21.12.2018 в 18:48 ----------

zin4:
Они висят на облачном сервере вот с такими параметрами

За такие деньжищи можно взять выделенный сервер с более лучшими параметрами.

foxi:
Оптимизайка, еще надо при таком зоопарке настроек не заблочить страну через которую кдаудфлар проксирует, а там у него стран куча.

О каком зоопарке идет речь? у cloudflare конечный список ip, который приведен в документации (если пользоваться geoip nginx, в таком случае будет учитываться ip пользователя), а если пользоваться его средствами (заголовок http_cf_ipcountry), то это страна пользователя, а не самого сервера cloudflare. Не понимаю, каким образом можно "заблокировать страну, через которую cloudflare проксирует".

iccup, а nginx у вас учитывает реальные ip посетителей или в логи например толлько ip cloudflare пишет?

https://support.cloudflare.com/hc/en-us/articles/200170706-How-do-I-restore-original-visitor-IP-with-Nginx-

надо чтоб реальные ip были.

если вы хотите пользоваться модулем geoip из nginx, то вам необходимо задать в параметре geoip_proxy ip-шники cloudflare из списка по ссылке выше.

ну и наконец cloudflare сам делает geoip, так что можно просто воспользоваться этими данными, т.е. заменить вашу конструкцию в nginx.conf на:


map $http_cf_ipcountry $allowed_country {
default yes;
ID no;
IN no;
RU no;
}

В панели управления cloudflare для этого должен быть включен параметр ip geolocation:

P.S. cloudflare умеет сам блокировать по странам, поэтому в nginx можно вообще ничего не писать :D Но это за деньги.

LEOnidUKG, рабов в костюмах роботов

Всего: 4372