Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Общие вопросы
  • Search

Нужно заблокировать ботов. Подскажите как лучше сделать ?

Общие вопросы о панели управления Vesta
Post Reply
  • Print view
Advanced search
19 posts
  • 1
  • 2
  • Next
Garant
Posts: 15
Joined: Fri Jun 12, 2015 12:27 am

Нужно заблокировать ботов. Подскажите как лучше сделать ?
  • Quote

Post by Garant » Fri Aug 07, 2015 3:09 am

Нужно заблокировать на сервере ботов, которые содержат в Useragent например TweetmemeBot , TweetmemeBot , Subscribe .

Как лучше это сделать ?


Раньше был такой способ, но сейчас почему то не работает https://yadi.sk/i/SnTBbCA5iKFdY
для панели управления vesta nano /usr/local/vesta/nginx/conf/nginx.conf

добавить в конец

if ($http_user_agent ~* "InAGist|naver|Livelapbot|Slurp|wordpress|FlipboardProxy|SemrushBot|SolomonoBot|AhrefsBot|SearchBot|magpie|urllib|peerindex|Configuration|Kimengi|Subscribe|Crowsnest|Jakarta|crawler|findlinks|Browserlet|Java|LibreOffice|QuerySeekerSpider|Powermarks|CodeGator|xpymep|MJ12bot|Butterfly|UnwindFetchor|JS-Kit|rogerbot|MetaURI|NING|PaperLiBot|facebookexternalhit|ia_archiver|Slingstone|linkfluence|uMBot|Twitterbot|TweetmemeBot") {
return 403;
}



перезагрузить

/etc/init.d/nginx restart
/etc/init.d/apache2 restart
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Нужно заблокировать ботов. Подскажите как лучше сделать
  • Quote

Post by skurudo » Fri Aug 07, 2015 5:58 pm

Товарищ, такая копипаста не пройдет! :)
Указанный способ работать не мог по той причине, что не туда.

А теперь по порядку.

во-первых, /usr/local/vesta/nginx/conf/nginx.conf - этот конфиг непосредственно панели управления, он не связан с вашими сайтами. после изменения в этом файле -

Code: Select all

service vesta restart
во-вторых, брокировать по if - идея, но так себе - http://wiki.nginx.org/IfIsEvil (описание почему). Такая конструкция в принципе рабочая, но добавлять ее нужно в конфиг у пользователя, к примеру /home/admin/conf/web/nginx.conf, и перезупускать nginx - service nginx restart:

Code: Select all

location / {
   if ($http_user_agent ~ (libwww|Wget|LWP|damnBot|BBBike|java|spider|crawl) ) {
       return 403;
   }
}
в третьих, направление работы верное, отсекать ботов проще на уровне nginx.. но я видел более интересные реализации. поглядите. В основной конфиг /etc/nginx/nginx.conf добавляем:

Code: Select all

map $http_user_agent $limit_bots {
     default 0;
     ~*(google|bing|yandex|msnbot) 1;
     ~*(AltaVista|Googlebot|Slurp|BlackWidow|Bot|ChinaClaw|Custo|DISCo|Download|Demon|eCatch|EirGrabber|EmailSiphon|EmailWolf|SuperHTTP|Surfbot|WebWhacker) 1;
     ~*(Express|WebPictures|ExtractorPro|EyeNetIE|FlashGet|GetRight|GetWeb!|Go!Zilla|Go-Ahead-Got-It|GrabNet|Grafula|HMView|Go!Zilla|Go-Ahead-Got-It) 1;
     ~*(rafula|HMView|HTTrack|Stripper|Sucker|Indy|InterGET|Ninja|JetCar|Spider|larbin|LeechFTP|Downloader|tool|Navroad|NearSite|NetAnts|tAkeOut|WWWOFFLE) 1;
     ~*(GrabNet|NetSpider|Vampire|NetZIP|Octopus|Offline|PageGrabber|Foto|pavuk|pcBrowser|RealDownload|ReGet|SiteSnagger|SmartDownload|SuperBot|WebSpider) 1;
     ~*(Teleport|VoidEYE|Collector|WebAuto|WebCopier|WebFetch|WebGo|WebLeacher|WebReaper|WebSauger|eXtractor|Quester|WebStripper|WebZIP|Wget|Widow|Zeus) 1;
     ~*(Twengabot|htmlparser|libwww|Python|perl|urllib|scan|Curl|email|PycURL|Pyth|PyQ|WebCollector|WebCopy|webcraw) 1;
 } 
и уже по домену /home/admin/conf/web/nginx.conf условие такое:

Code: Select all

location / {
    if ($limit_bots = 1) {
              return 403;
            }
}
перезапуск сервиса nginx будет нужен, естественно :)

Дерзайте.
Top

Garant
Posts: 15
Joined: Fri Jun 12, 2015 12:27 am

Re: Нужно заблокировать ботов. Подскажите как лучше сделать
  • Quote

Post by Garant » Fri Aug 07, 2015 8:50 pm

skurudo да отлично. все работает , только надо добавлять к каждому домену такую запись в секцию server .

А можно какой нибудь записью добавить это условие ко всем доменам пользователя ? Или вообще для всего сервера ?

https://yadi.sk/i/L2AEGJBwiLEiZ
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Нужно заблокировать ботов. Подскажите как лучше сделать
  • Quote

Post by skurudo » Fri Aug 07, 2015 9:08 pm

Garant wrote: А можно какой нибудь записью добавить это условие ко всем доменам пользователя ? Или вообще для всего сервера ?
А то! Конечно можно :)
но тут получается - для каждого, не для всего сервера.

Вот в этой вот директории лежат шаблоны:
/usr/local/vesta/data/templates/web/nginx/

Из них генерятся реальные боевые шаблоны. Можно изменить шаблоны и сделать Rebuild web. При добавлении новых доменов будут браться из шаблонов, а вот уже добавленные нужно делать ребилд.

Image
Top

Garant
Posts: 15
Joined: Fri Jun 12, 2015 12:27 am

Re: Нужно заблокировать ботов. Подскажите как лучше сделать
  • Quote

Post by Garant » Fri Aug 07, 2015 9:24 pm

Т.е. в шаблоне появляется вот такая вот секция https://yadi.sk/i/-zlnHNKxiLGNw ?
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Нужно заблокировать ботов. Подскажите как лучше сделать
  • Quote

Post by skurudo » Fri Aug 07, 2015 9:28 pm

Garant wrote:Т.е. в шаблоне появляется вот такая вот секция https://yadi.sk/i/-zlnHNKxiLGNw ?
Верно. По сути это не отличается от того, что у вас сделано в отдельно взятом конфиге, только теперь это будет при ребилде веба и в новых доменах тоже.

Обратите внимание, что шаблон такой не один, менять везде не обязательно, а только в тех, которые используете. Впрочем на ваше усмотрение.
Top

Garant
Posts: 15
Joined: Fri Jun 12, 2015 12:27 am

Re: Нужно заблокировать ботов. Подскажите как лучше сделать
  • Quote

Post by Garant » Fri Aug 07, 2015 9:43 pm

skurudo спасибо ) Постоянно выручаете. По 400 сайтам постоянно бегали какие то непонятные боты с твиттера и фейсбука. Убрал их , сервер ожил. LA с 20 опустился до 2 ) Еще раз большое спасибо !!!
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Нужно заблокировать ботов. Подскажите как лучше сделать
  • Quote

Post by skurudo » Sat Aug 08, 2015 4:37 am

Garant wrote:skurudo спасибо ) Постоянно выручаете. По 400 сайтам постоянно бегали какие то непонятные боты с твиттера и фейсбука. Убрал их , сервер ожил. LA с 20 опустился до 2 ) Еще раз большое спасибо !!!
На здоровье! :) Плохишей нужно банить, не гоже их поощрять. Мешают - баню их.
Top

one
Posts: 392
Joined: Tue Sep 15, 2015 4:11 pm

Os: Debian 8x
Web: apache + nginx
Re: Нужно заблокировать ботов. Подскажите как лучше сделать ?
  • Quote

Post by one » Sat Jul 01, 2017 9:20 pm

А есть подобное решение но с блокировкой по базе IP и странам?
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Нужно заблокировать ботов. Подскажите как лучше сделать ?
  • Quote

Post by skurudo » Mon Jul 03, 2017 1:33 pm

Нет, к сожалению, с этим сложнее.
В случае гео-нападания проще использовать iptables c geoip.
Top


Post Reply
  • Print view

19 posts
  • 1
  • 2
  • Next

Return to “Общие вопросы”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password