1/5 - (1 голос)
Не редка бывает необходимость не допустить на свой сайт, всякого рода ботов, роботов, вредителей, конкурентов и тому подобных посетителей.nnРазличают таких пользователей по юзерагенту. Пример списка агентов blacklistnnДалее в примере сократим и оставим только curl и wgetn
map $http_user_agent $bad_client {n default 1;n "~*^curl" 1;n "~*^wget" 1;n}
Данный лист можно сохранить по адресу:n
/etc/nginx/conf.d/blacklist.conf
Далее для нужного location указываем следующееn
location / {nif ($bad_client) { return 403; }
Таким образом все агенты попавшие под список получат 403 ответ — оступ запрещен.nnАналогично можно использовать и в таком видеn
location @fallback { n if ($bad_client) { return 403; }
Проверим как это работает?nnПытаемся скачать с нашего сайтаn
wget http://test-site.localn--2017-06-08 21:17:02-- http://test-site.local/nResolving test-site.local (test-site.local)... xxx.xxx.xx.xnConnecting to test-site.local (test-site.local)|xxx.xxx.xx.x|:80... connected.nHTTP request sent, awaiting response... 403 Forbiddenn2017-06-08 21:17:02 ERROR 403: Forbidden.
Видим, что блокировка работает.n
Администрирование веб серверов, обращайтесь [email protected]