Alguns robôs são do bem. Eles são comandados pelos mecanismos de busca. Eles baixam as páginas do seu sítio e lhe trarão novos visitantes quando alguém fizer uma busca no Google, Yahoo ou MSN.
Os demais são os canalhas. Sugam recursos de seu servidor. Seus usuários de verdade ficam com o serviço muito mais lento. Pode chegar ao ponto de ninguém conseguir acessar mais nada. Se você paga por banda usada, podem te custar uma fortuna. Claro que eles são mal educados e não respeitam seu arquivo robot.txt.
Dois são os canalhas principais: os spambots, que vasculham seu sítio em busca de endereços de email para enviar spams; e os "leitores off-line", operados por alguém que quer baixar de uma vez todo seu sítio. Estes últimos são os piores, pois costumam ter uma taxa de acesso tão alto, que não há servidor que agüente. Um babaca de uma empresa chegava ao ponto de baixar de meu sítio mais de 300M de dados todo mês. Só quem acessava mais era o robô do Google, mas este pelo ainda me traz novos visitantes. Depois que eu reclamei, eles informaram que "uma estação interna que estava rodando um Webcrawler para fins de testes e homogação de um projeto". Epa, nem me perguntaram se podia! Eu escrevi de novo pedindo minha comissão neste projeto, mas até agora não me responderam.
O jeito de se defender dos robôs assassinos de sítios é criar um escudo de força. Simplesmente proíba o acesso deles. De cara bloqueie o nome dos robôs conhecidos, para isto basta configurar seu servidor Apache com estas regras. O sempre excelente Mark Pilgrim também dá dicas como se proteger de robôs.
Este é só o passo inicial. O que não falta é gente criando robôs novos. Alguns disfarçarão seu nome e terão que ser bloqueados pelo IP. Antes de você terminar de ler este artigo, outros já terão sido criados. Vamos então analisar como está nosso acesso atualmente. Para isto utilizamos o Webalizer, para extrair informações de nosso logs. Configure-o para mostrar um número grande de user agents: "TopAgents 450", e veja os nomes que não são comuns. Aparecerão até robôs nacionais como o PuxaRapido. Veja também a lista de "Sítios por KBytes" para ver quem tem comido sua banda. Cuidado para não incluir um proxy de uma grande empresa.
Para ser um pouquinho mais eficiente, com uma expressão regular reuni todas minhas regras no mínimo de linhas. Assim ficou:
RewriteCond %{REMOTE_ADDR} ^63\.148\.99\.2(2[4-9]|[3-4][0-9]|5[0-5])$ [OR] # Cyveillance spybot
RewriteCond %{REMOTE_ADDR} ^12\.148\.196\.(12[8-9]|1[3-9][0-9]|2[0-4][0-9]|25[0-5])$ [OR] # NameProtect spybot
RewriteCond %{REMOTE_ADDR} ^64\.140\.49\.6([6-9])$ [OR] # Turnitin spybot
RewriteCond %{HTTP_REFERER} iaea\.org [OR] # spambot
RewriteCond %{HTTP_USER_AGENT} mycrofth0lmes|URL\ check [OR] #match anywhere in string
RewriteCond %{HTTP_USER_AGENT} ^(Teleport|Internet\ Ninja|Aculinx|Ants|attach|Backstreet|BackWeb|Bandit|Buddy|Burner|Caitoo|Collector|Commander|Copier|Crawler|Curl|DA\ .\.0|Devil|DISCo\ Pump|Down2Web|Downloader|DownloadIt|Drip|Eater|eCatch|Eclipt|EirGrabber|Enterprise|Express|Extractor|ExtractorPro|EyeNetIE|FairAd\ Client|FileHound|FlashGet|FlashSite|FlipBrowser|GetBot|GetRight|GetSmart|Gets|GetWeb|Go-Ahead-Got-It|gotit|Go\!Zilla|Grabber|Grab|Grafula|Greed|HMView|Hoover|HtGet|HTTrack|IBrowse|iFox98|IGJpg$|InterGET|InternetLinkAgent|IPhoto|iwantmy|iwantmyxxx|JetCar|JOC|JustView|Keepoint|leech|lftp|likse]|Magnet|Mag-Net|Mass\ Downloader|Memo|MemoWeb|MIDown\ tool|Mirror|Mister\ PiX|MSProxy|Navroad|NearSite|NetAnts|NetDrag|NetSpider|Offline\ Explorer|Offline|PageGrabber|Papa\ Foto|pcBrowser|PerManSurfer|PlantyNet_WebRo|Pockey|Pump|Reaper|Recorder|ReGet|Retriever|SilentSurf|Siphon|Snagger|Snake|Snarf|Snatcher|SpaceBison|Stripper|Sucker|SuperBot|SuperHTTP|Surfbot|tAkeOut|Vacuum|Vampire|wantmy|Weazel|WebAuto|WebCopier|Webexe|WebFetch|Web\ Image\ Collector|WebReaper|WebSauger|Website\ Quester|Webster|WebStripper|Web\ Sucker|WebVCR|WebWhacker|WebZIP|WFARC|Wget|Whacker|Widow|WWWCopy|WWWoffle|NutchCVS|Exabot|Hobbit|West\ Wind\ Internet|WebReaper|Servers\ Alive\ URL\ check|voyager|MJ12bo|PuxaRapido|Advanced\ Email\ Extractor)
RewriteRule ^.* - [forbidden,last]
Isto resolve os piores casos. Por enquanto estou feliz sobrevivendo aos robôs e tudo está uma beleza. O chato é ter que ficar de olho para ver se não há novos robôs aparecendo. Será que terei que automatizar isto? O pior é o tempo perdido, poderia estar fazendo algo bacana. No futuro talvez valha a pena testar o mod_bandwidth.

2 comentários:
Nunca me atentei a problemas como esse. Realmente interessante.
Mas creio que meu host atual não permite alterar configurações do apache.
Bom blog, mas ficaria melhor se fosse um wordpress ... esse sistema de comentário do blogguer mata qualquer um.
Ioki, normalmente os hosts deixam alterar as configurações do apache usando os arquivos .htaccess. Basta colocar estas regras no .htaccess seu diretório de publicação raiz.
Você tem razão, o Wordpress é muito melhor, mas eu não estava com saco de configurar nada. Estou só querendo ver se me animo de escrever um blogue, ainda nem divulguei para ninguém. Se isto daqui deslanchar, eu publico ele direito.
Postar um comentário