Há quase uma década (!), escrevi um post sobre prevenção de hotlinking de imagens. Todos nós temos o direito de proteger as imagens hospedadas em nosso domínio, pois isso pode tornar nosso site tremendamente lento. Adoro essa postagem porque ela mostra como substituir a imagem solicitada por qualquer imagem de sua escolha; por exemplo, eu poderia substituir qualquer solicitação de imagem recebida pelo meu logotipo:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https://davidwalsh.name/.*$ [NC] RewriteRule .*.(png|gif|jpe?g)$ [F,NC] </IfModule>
Mas o que devemos fazer quando alguém faz hotlinking de arquivos JavaScript? Escrevi muito sobre JavaScript ao longo dos anos, muitas vezes fornecendo uma página de demonstração, então o senhor provavelmente pode imaginar que hospedo muitos arquivos JavaScript, inclusive todos os meus arquivos de plug-in do MooTools. Optei por uma abordagem um tanto severa para evitar hotlinking de arquivos JavaScript:
<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^https://davidwalsh.name/.*$ [NC] RewriteRule \.(js)$ http://davidwalsh.name/hotlink.js [R,L] </IfModule>
O trecho acima, colocado em meu .htaccess
direciona meu servidor para ignorar o arquivo JavaScript que o domínio estrangeiro solicitou e, em vez disso, fornecer um arquivo hotlink.js
cujo conteúdo é um pouco desonesto:
window.location = 'https://davidwalsh.name/';
Um pouco duro? Talvez, mas meu servidor está sob estresse indevido, eles não deveriam fazer hotlinking de arquivos, e o fato de serem redirecionados para o meu site é uma boa indicação de onde eles deveriam procurar resolver o problema. Eu poderia fazer pior, como servir evil.js ou redirecioná-los para um site adulto, mas prefiro não ir tão longe.
Proteja seu servidor contra hotlinking – o senhor tem todo o direito de fazê-lo e, no final, provavelmente estará fazendo um favor a eles.