Arquivo de 20 de Abril de 2006

Pois é… Hoje, a dica é pros nerds. Quem é que já não passou pelo caso de criar uma imagem ou ter uma imagem bacana no seu site e os espertinhos da internet “linkarem” essa imagem pro site deles, dizendo que foram eles quem fizeram?

Isso se chama roubo de banda (bandwidth stealing, em inglês, ou ainda hotlinking) e há uma maneira de evitar esse tipo indesejado de ação no seu website, desde que você tenha o poder de alterar a modificação do servidor web ou, no mínimo, poder escrever uma série de códigos. Em tempo: a dica só valerá pra quem utilizar servidor web Apache.

A maneira é a seguinte: através de um módulo do Apache chamado mod_rewrite, você pode re-escrever o método pelo qual os arquivos são lidos na internet. Esse módulo pode ser compilado diretamente com o Apache ou já vir compilado nos pacotes prontos. Sem esse módulo, não será possível fazer nada.

Antes de mais nada, crie um arquivo texto em branco e escreva o seguinte código dentro dele:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(/+\.)?meudominio.com.br/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]

Lembre-se de trocar o meudominio.com.br pelo seu domínio. A linha RewriteRule informa que serão bloqueados apenas os arquivos de extensões GIF e JPG. Mas você pode fazer também para quaisquer tipos de arquivo que desejar. Um outro bom exemplo é fazer o seguinte:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?meudominio.com.br/.*$ [NC]
RewriteRule \.(gif|jpg)$ http://www.meudominio.com.br/bloqueado.gif [R,L]

No exemplo acima, toda imagem GIF ou JPG que for capturada que não seja do seu site, será mostrada a imagem bloqueado.gif (que você pode colocar dizendo que a imagem só pode ser vista a partir do seu site). Um outro exemplo (e bacana!) é que se você tiver arquivos WAV ou MP3, você pode colocar um outro arquivo de som com uma risada macabra.

Agora é salvar esse arquivo com o nome de .htaccess no diretório que você deseja proteger e suas preocupações terminaram! Para maiores detalhes, recomendo os seguintes sites (todos em inglês):

Boa sorte!

Pra quem quer saber, aqui vão as regras que funcionam por aqui. Fiquem à vontade para copiá-las e usá-las de acordo com suas necessidades.

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?danielneto.com.br/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?rio.com.br/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?dublanet.com.br/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.|quem\.)?dubla.com.br/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?almirmarques.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?chongas.net/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?blogfilho.blogspot.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.|images\.|mail\.)?google\..+/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.|images\.|images\.search)?yahoo.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.|search\.)?msn\.+/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.|search\.|images\.)?av.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.|search\.|images\.)?altavista.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?wikipedia.org/.*$ [NC]
RewriteRule \.(jpe?g|gif|bmp|avi|swf|wmv|wma|mp3|mpe?g|mid|zip|rar|pdf|js|css)$ - [F]

Comments Nenhum comentário »