Автор Тема: агресивен бот и процесорно време  (Прочетена 6454 пъти)

satir

  • Напреднали
  • *****
  • Публикации: 1073
  • Distribution: FreeBSD-10.1 & LMDE
  • Window Manager: i prefer MATE
    • Профил
    • WWW
здравейте!
от суперхостинг получих писмо, че сайта ми изразходва прекалено много процесорно време и се доближава до горната граница на абонаментния ми план. прегледах статистиката, ограничих достатъчно ботовете на гугъл и бинг, но има някакъв особено агресивен бот.
на първият ред се вижда добре:


Код:
Unknown robot (identified by 'bot' followed by a space or one of the following characters _+:,.;/\-) 14,216+348 763.80 MB 30 Апр 2015 - 15:15
Googlebot-Image 3,032 8.87 MB 30 Апр 2015 - 15:14
Googlebot 7,134+68 577.10 MB 30 Апр 2015 - 15:09
A PHP script 6,137 345.72 MB 30 Апр 2015 - 14:54
Yahoo Slurp 633+63 39.07 MB 30 Апр 2015 - 13:22
Bing Preview bot 1,712 17.86 MB 30 Апр 2015 - 12:29
Unknown robot (identified by hit on 'robots.txt') 0+75 22.27 KB 30 Апр 2015 - 11:24
Unknown robot (identified by 'crawl') 99+47 5.48 MB 30 Апр 2015 - 10:22
Common *nix tool for automating web document retireval. Most likely a bot. 9 0 30 Апр 2015 - 08:49
Unknown robot (identified by 'spider') 533+25 33.44 MB 30 Апр 2015 - 05:39
Unknown robot (identified by empty user agent string) 55+4 2.19 MB 30 Апр 2015 - 05:12
Unknown robot (identified by 'robot') 201+87 16.39 MB 29 Апр 2015 - 00:35
MSNBot-media 110+2 510.23 KB 28 Апр 2015 - 15:59
Unknown robot (identified by 'bot' preceded by a space or one of the following characters _+:,.;/\-) 2+1 117.80 KB 25 Апр 2015 - 00:43
Alexa (IA Archiver)

добавих препоръчаните от суперхостинг редове в .htacces, но получих ерър 403 и ги коментирах.

ето ги:

Код:
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^(.*)MJ12bot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)SolomonoBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Baiduspider [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Yeti [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Ezooms [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)AhrefsBot [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^(.*)exabot [NC,OR]
RewriteRule .* - [F]


как да го накарам тоя бот да намали драстично хит-овете?
благодаря!
« Последна редакция: Apr 30, 2015, 19:45 от satir »
Активен

k0tka

  • Напреднали
  • *****
  • Публикации: 130
  • Distribution: Fedora 23, CentOS, Debian, OS X El Capitan
  • Window Manager: i3wm
    • Профил
Re: агресивен бот и процесорно време
« Отговор #1 -: Apr 30, 2015, 20:44 »
Здравей,
опитай по вторият начин описан от тях:

http://help.superhosting.bg/bots.html

Код:
SetEnvIfNoCase User-Agent "^Surfbot" bad_bot
SetEnvIfNoCase User-Agent "^ChinaClaw" bad_bot
SetEnvIfNoCase User-Agent "^Zeus" bad_bot

<Limit GET POST HEAD>
 Order Allow,Deny
 Allow from all
 Deny from env=bad_bot
</Limit>

Само си допълни списъка с ботове и regex-ове.

EDIT:
Сега разбрах защо първият начин не работи...Заради [OR] флага на последния RewriteCond промени го от
Код:
RewriteCond %{HTTP_USER_AGENT} ^(.*)exabot [NC,OR]
на
Код:
RewriteCond %{HTTP_USER_AGENT} ^(.*)exabot [NC]
и трябва да сработи
« Последна редакция: Apr 30, 2015, 20:51 от k0tka »
Активен

"If you need an instructional video telling your users how to turn a machine off (http://windows.microsoft.com/en-gb/windows-8/how-shut-down-turn-off-pc), there’s something seriously wrong with your design." --  Andrew Gregory @ linuxvoice

satir

  • Напреднали
  • *****
  • Публикации: 1073
  • Distribution: FreeBSD-10.1 & LMDE
  • Window Manager: i prefer MATE
    • Профил
    • WWW
Re: агресивен бот и процесорно време
« Отговор #2 -: May 01, 2015, 08:45 »
след вчерашната ми намеса посещението от ботове е 0. вероятно трябва да намаля ограничениято в гугъл и бинг.
а дали технит ботове не повличат крак...
kotka, след като направя тези промени ще наблюдавам трафика. в зависимост от него ще опитам това, което ми препоръчваш.
но защо от суперхостинг дават тоя флаг? верно е, че аз от тия неща не разбирам, ама те нали това работят, баси...
ще коригирам Sitte Settings в Webmaster Tools на гугъл, па да видим какво ще се случи...
Активен

k0tka

  • Напреднали
  • *****
  • Публикации: 130
  • Distribution: Fedora 23, CentOS, Debian, OS X El Capitan
  • Window Manager: i3wm
    • Профил
Re: агресивен бот и процесорно време
« Отговор #3 -: May 01, 2015, 12:28 »
Предполагам че е просто typo, защото [OR] е ИЛИ което включва следващия ред в проверката на HTTP_USER_AGENT но в този пример следващия ред не е условие RewriteCond, а правило RewriteRule и за това фейлва и връша 403 без значение какво има в HTTP_USER_AGENT. Няма лошо да те обхождат "агресивно" ботове ама ресурсите при споделения хостинг са си споделени и компаниите не го допускат и те режат винаги.
Активен

"If you need an instructional video telling your users how to turn a machine off (http://windows.microsoft.com/en-gb/windows-8/how-shut-down-turn-off-pc), there’s something seriously wrong with your design." --  Andrew Gregory @ linuxvoice

satir

  • Напреднали
  • *****
  • Публикации: 1073
  • Distribution: FreeBSD-10.1 & LMDE
  • Window Manager: i prefer MATE
    • Профил
    • WWW
Re: агресивен бот и процесорно време
« Отговор #4 -: May 01, 2015, 18:34 »
даже си е добре, да те ръшнат ботовете, щото това те праща напред у търсещите машини, а и аз за това съм си играл да оптимизирам сайта в крайна сметка, ама по-големия абонаментен план ми идва в повече, по простата причина, че сайта ми е информационен портал, който вади очите на политическите партии в Дупница :) , а приходите от реклами и договори не са особено големи :(
това е след следващата ми намеса:
Код:
Unknown robot (identified by 'bot' followed by a space or one of the following characters _+:,.;/\-) 1,384+3 85.78 MB 01 Май 2015 - 15:19
Yahoo Slurp 11+1 503.85 KB 01 Май 2015 - 15:19
Googlebot-Image 41 65.50 KB 01 Май 2015 - 15:17
A PHP script 17 903.24 KB 01 Май 2015 - 15:14
Googlebot 167 12.08 MB 01 Май 2015 - 15:07
Unknown robot (identified by 'spider') 4+2 206.60 KB 01 Май 2015 - 11:47
Unknown robot (identified by hit on 'robots.txt') 0+1 304 Байта (Bytes) 01 Май 2015 - 10:12
Bing Preview bot 50 284.14 KB 01 Май 2015 - 09:09
Unknown robot (identified by 'robot') 1+1 28.57 KB 01 Май 2015 - 05:18
Unknown robot (identified by empty user agent string) 1 25.56 KB 01 Май 2015 - 05:13

мисля да го оставя така, и след 24 часа да говоря с поддръжката, да видим какво ще кажат за процесорното време.

шотове от cPanel-a:



натоварване на процесора около 50% с три четири пика до 75. мисля, че това не е много.



едит: сега ом погледнах пак писмото - то било за време, не за натоварване, а не виждам графа за времето, през което е работил процесора. пак ще погледна cPanel-а
« Последна редакция: May 01, 2015, 19:03 от satir »
Активен

satir

  • Напреднали
  • *****
  • Публикации: 1073
  • Distribution: FreeBSD-10.1 & LMDE
  • Window Manager: i prefer MATE
    • Профил
    • WWW
Re: агресивен бот и процесорно време
« Отговор #5 -: May 02, 2015, 19:24 »
допреди 4 часа всичко беше добре, но пак е вдигнал процесорното време и е се е наложило да го лимитират. редактирах .htacces по препоръките на kotka, който изглежда така:

Код:
<IfModule mod_fcgid.c>
AddHandler fcgid-script .php
FcgidWrapper /home/myhome/php5.fcgi .php
# bot restriction from me:

SetEnvIfNoCase User-Agent "^Surfbot" bad_bot
SetEnvIfNoCase User-Agent "^ChinaClaw" bad_bot
SetEnvIfNoCase User-Agent "^Zeus" bad_bot

RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^(.*)MJ12bot [NC]
RewriteCond %{HTTP_USER_AGENT} ^(.*)SolomonoBot [NC]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Baiduspider [NC]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Yeti [NC]
RewriteCond %{HTTP_USER_AGENT} ^(.*)Ezooms [NC]
RewriteCond %{HTTP_USER_AGENT} ^(.*)AhrefsBot [NC]
RewriteCond %{HTTP_USER_AGENT} ^(.*)exabot [NC]
RewriteRule .* - [F]
</IfModule>
засега работи и не дава грешка. ще следя, какво се случва със процесорното време.

едит: значи... малко щом е тръгнал над 50% и веднага е лимитиран. мисля, че суперхостинг ни изнудват, а години наред бях много доволен от услугите им. не проумевам на какво се дължи такава рязка промяна в поведението им.
« Последна редакция: May 02, 2015, 19:35 от satir »
Активен

4096bits

  • Напреднали
  • *****
  • Публикации: 6178
    • Профил
Re: агресивен бот и процесорно време
« Отговор #6 -: May 04, 2015, 00:47 »
Глад?
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

k0tka

  • Напреднали
  • *****
  • Публикации: 130
  • Distribution: Fedora 23, CentOS, Debian, OS X El Capitan
  • Window Manager: i3wm
    • Профил
Re: агресивен бот и процесорно време
« Отговор #7 -: May 04, 2015, 10:48 »
Не обвинявай хостинг компаниите, няма как да ползваш споделен хостинг и да нямаш проблеми. За мен това не е сериозна услуга и не бих я използвал за нещо повече от статичен сайт поради този тип лимитации. В крайна сметка хостинг компанията няма сметка да те реже или ограничава ако всичко е наред и твоят акаунт не създава проблеми на останалите намиращи се на същия сървър, след като си плащаш - просто нямат изгода от това. Хоствам няколко сайта, общо взето на близки и приятели като единият от тях е една скапана галерия Coppermine, която съдържа около 60К снимки с коментари и т.н. + 250-500 уникални посещения на ден. Беше на един споделен хостинг след което на друг, но правеше проблеми и ядеше доста ресурс и не беше удачен за споделен хостинг, но не ми и пукаше защото по това време не се грижех аз за него. В един момент сайта се върна под мое управление и трябваше да поема по твоят път. Първо преместих всичко на машина която се хостваше вкъщи и беше някаква сбирщина от RAM и дискове (RAID 1 между 160GB 3.5-inch disk и 200GB 2.5-inch disk от лаптоп)...Както и да е - работеше идеално, когато имах ток и интернет... След време обаче заминах да работя извън България и тъй като няма на кой да оставя машината взех един малък VPS за около 40лв/м но както и при теб се получава приходите от реклама не покриват разходите за машината а и никой от моите "потребители" не дава и стотинка та аз поемам разходите но в един момент ми писна да плащам. Отскоро бях започнал да работя с AWS а те дават някакъв минимален VPS 1core, 1G RAM + 1G swap 30-40GB HDD, който е Eligible for AWS Free Tier или с други думи ползваш машината + RDS instance (MySQL база) за 12м. безплатно и с малко експерименти и varnish всичко заспа и последните няколко месеца не съм и имал проблеми с него. Плюс това ако отвориш тикет до support-а и след като не ти отговорят 4-5 дни, можеш да ги напсуваш и ти дават 100$ в сметката с които можеш да плащаш услугата след като минат 12м. Да, искат регистрирана кредитна/дебитна карта, понякога те таксуват за нещо което не можеш да разбереш от порядъка на 2$-3$ на месец и безплатния съпорт е толкова бавен, че по-добре да не се свързваш с тях, но май не е трудно да намериш step-by-step instructions "how to get free vps in amazon web services" - има доста теми, та поразгледай, тествай......в крайна сметка е безплатно....
« Последна редакция: May 04, 2015, 10:52 от k0tka »
Активен

"If you need an instructional video telling your users how to turn a machine off (http://windows.microsoft.com/en-gb/windows-8/how-shut-down-turn-off-pc), there’s something seriously wrong with your design." --  Andrew Gregory @ linuxvoice

satir

  • Напреднали
  • *****
  • Публикации: 1073
  • Distribution: FreeBSD-10.1 & LMDE
  • Window Manager: i prefer MATE
    • Профил
    • WWW
Re: агресивен бот и процесорно време
« Отговор #8 -: May 09, 2015, 06:44 »
kotka, много си прав, но не ме устройват такива решение. имам нужда от отговорен и сериозен съпорт, от редовен бекъп, профилактика и... от читав контакт с поддържащия персонал. цела седмица го следя и резултатите са много променливи. като извод се налага, че основно се товари от уникални посещения. е, не искам да отказвам потребителите да четат сайта, нали за тва съществува в интернет пространството :) не мога да реша какво да правя. мине не мине и админите го лимитират :) не мога ли да си карам така... с лимитиране чат пат? :( ще разговарям с поддръжката, пък да видим.
Активен