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.