Está notando o uso de banda do seu blog/site crescer e não sabe o porque ?
Possivelmente, estão começando a fazer o famoso Hot Link de imagens do seu blog/site em outros locais.
Um jeito fácil de olhar isto, é através do log do seu blog. Você vai notar várias requisições vindas de algum endereço em particular a imagens.
187.39.61.204 - - [24/Mar/2011:17:52:42 -0700] "GET /files/arquivos/terrabiblica.jpg HTTP/1.1" 403 2365 "http://algumlugar.com/i/noticias/74/74177-apple-retira-aplicativo-para-iphone-ofensivo-aos-gays/index.html" "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.151 Safari/534.16"
189.122.147.118 - - [24/Mar/2011:17:56:12 -0700] "GET /files/arquivos/terrabiblica.jpg HTTP/1.1" 403 2365 "http://algumlugar.com/i/noticias/74/74177-apple-retira-aplicativo-para-iphone-ofensivo-aos-gays/index.html" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0"
189.122.147.118 - - [24/Mar/2011:18:04:36 -0700] "GET /files/arquivos/terrabiblica.jpg HTTP/1.1" 403 2217 "http://algumlugar.com/i/noticias/74/74177-apple-retira-aplicativo-para-iphone-ofensivo-aos-gays/index.html" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0"
Hoje, eu tive um problema assim. Como meu plano na Dreamhost fornece é ilimitado em banda, eu acabei tirando estes filtros a um tempo atrás.
Só que aí veio o outro efeito. Muito Hot Link além da banda, gera mais acessos. E mais acessos, também consumo de CPU e afins.
Ou seja, no fim, eu hoje perdi um tempo fazendo o bloqueio do Hot Link de imagens.
E como é feito isto ? O processo é todo feito utilizando o mod_rewrite do Apache.
Assim, todas as dicas aqui podem ser usadas no seu httpd.conf ou até no seu .htaccess do diretório root do seu domínio.
O primeiro passo para fazer o "bloqueio" do Hot Link no seu dominio, pode ser feito assim ( adicione no seu .htaccess ou httpd.conf , respectivamente ) :
SetEnvIfNoCase Referer "^http://www\.ataliba\.eti\.br/" banimages=1 SetEnvIfNoCase Referer "^http://ataliba\.eti\.br/" banimages=1 SetEnvIfNoCase Referer "^$" banimages=1 <FilesMatch "\.(gif|png|jpe?g)$"> Order Allow,Deny Allow from env=banimages=1 </FilesMatch>
Ou então, você pode usar este código aqui :
RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?ataliba.eti.br/.*$ [NC] RewriteRule ^.*\.(bmp|tif|gif|jpg|jpeg|jpe|png)$ - [F]
Para redirecionar a pessoa para uma imagem qualquer que você queira, é só utilizar a série abaixo:
RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(www\.)?ataliba\.eti\.br/.*$ [NC] RewriteRule .*\.(gif|jpe?g|png)$ https://cybernetus.com/chato.jpg [R,NC,L]
O grande problema de fazer assim, é que você vai bloquear inclusive o Google e o Feedburner caso você os use, então use alguns condicionais para resolver este problema:
RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://(.+\.)?ataliba\.eti\.br/ [NC] [OR] RewriteCond %{HTTP_REFERER} !^http://(.+\.)?ataliba\.net/ [NC] [OR]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?google.com(.+.)?/ [NC] [OR] RewriteCond %{HTTP_REFERER} !^http://(.+\.)?feeedburner.com(.+.)?/ [NC]
RewriteRule .*\.(bmp|tif|gif|jpg|jpeg|jpe|png)$ - [F]
No exemplo acima, se as requisições vieram do site ataliba.net , ataliba.eti.br, google.com ou feedburner.com, o Hot Link das imagens será aceito :-)
Resumo, com isto, você se livra daqueles infelizes que ficam roubando sua banda e ainda, aumentando a carga no seu servidor, simplesmente porque não querem fazer o upload de uma imagem :-)
Após estas configurações, se quiser testar se elas estão funcionando, clique aqui. Este site fornece um testador se sua imagem pode ser mostrada ou não, através do hot link.