Apache: Como posso bloquear outros sites de fazer links diretos em meus arquivos?
Geralmente quando você tem um site grande, alguns usuários sem ética começam a copiar tudo e deixar links diretos para os seus arquivos em páginas próprias. Para evitar muitos casos disso, pode-se usar o mod_rewrite.
É só colocar as seguintes linhas dentro da sua configuração principal ou de um domínio virtual (<VirtualHost>):
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?nomedodominio\.com\.br/.*$ [NC]
RewriteRule \.(mid|wav|mp3|zip|avi|rm|ram|swf|mpg|wmv|pdf)$ http://www.nomedodominio.com.br/download_negado.php [NC,R,L]
Este exemplo acima fará com que os sites que não estão inclusos no dominio www.nomedodominio.com.br tenham seu acesso negado ao link direto para os arquivos com as extensões: .mid; .wav; .mp3; .zip; .avi; .rm; .ram; .swf; .mpg; .wmv; .pdf. Ou seja, se alguma outra pagina fizer um link direto para um arquivo .mp3 do seu servidor por exemplo, ao invés dele pegar o arquivo .mp3, ele cairá na página http://www.nomedodominio.com.br/download_negado.php, que poderá conter um aviso de que o download direto foi negado.
Gostou?
Imprimir esta página
Leia também:
- Apache: Eu tenho muitos domínios virtuais, como posso fazer para gerar logs separados de cada um?
- Apache: Mostrando páginas de um servidor Intranet num servidor Internet
- Apache: Redirecionando domínios antigos para novos
- Como fazer VCD
- Personalizando o Índice Automático de Arquivos do Apache






(1 votos, média: 4,00 de 5)
20 de jun de 2009 em 11:50 am
Muito Bom, por isso que eu adoro este site!
08 de nov de 2009 em 1:35 pm
Não entendi onde devo colocar as linhas acima para bloquear o download e os links. Não sou expert em sites, mas faço o meu sozinho. Só que estão fazendo muitas transferências dos meus arquivos e queria dar um jeito de bloquear isso. Pode me ajudar, explicando mais detalhadamente onde devo colocar esse código?
Grato