Показать страницуИстория страницыСсылки сюдаЭкспорт в PDFНаверх Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Nginx и блокировка пользователей ====== Иногда возникает необходимость быстро заблокировать каких-то пользователей средствами веб-сервера по некоторому признаку: User Agent, IP-адрес и т.д. Поможет вот такая штука. Создаем файл /etc/nginx/block.conf <code> # Block unwanted users # Blocking by User Agent (блокировка по юзер-агенту) # Хорошо подходит для блокировки роботов if ($http_user_agent ~ (ZmEu|libwww-perl|wget) ) { return 403; } # Blocking by IP address (блокировка по ИП-адресу) deny 88.88.88.88; # Blocking by IP subnet (блокировка подсети) deny 192.168.10.0/24; # Blocking by Referer (блокировка по рефереру, т.е. адресу откуда пользователь перешел на мой сайт) if ($http_referer ~* (viagra|cialis|levitra) ) { return 403; } # Blocking by GeoIP (блокировка по географическому признаку) geoip_country /etc/nginx/GeoIP.dat; if ($geoip_country_code ~ (BR|CN|KR|RU) ) { return 403; } </code> и подключаем его в нужной секции server { при помощи команды <code> include /etc/nginx/block.conf </code> Внимание: если есть желание использовать GeoIP - удостоверьтесь что Nginx собран с этим модулем! {{tag>nginx защита user_agent}} software/nginx/block-users.txt Последнее изменение: 2017/05/09 18:34 — 127.0.0.1