En la comunidad de Internet, el hotlinking es una práctica odiada por todo webmaster. También conocida como «robo de ancho de banda» por el enojado dueño del sitio web, se refiere a enlazar directamente de otros sitios web contenidos como imágenes, archivos .js, etc. Al servidor de la victima en este caso se le roba ancho de banda (y por lo tanto dinero) ya que la persona que hace el hotlinking muestra contenido sin tener que pagar por alojarlo y mostrarlo. La práctica más común de hotlinking se relaciona con mostrar las imágenes de otro sitio.

Por medio del .htaccess, podemos deshabilitar el hotlinking desde nuestro sitio, por lo tanto todo aquel que desee enlazar un imagen o un archivo CSS de nuestro sitio, por ejemplo, es bloqueado (la solicitud muestra un error, como por ejemplo una imagen rota) o se muestra un contenido distinto (por ejemplo la imagen de un hombre enojado). En este caso el mod_rewrite debe ser habilitado con el fin de que este aspecto del .htaccess funcione. Para este fin lo mejor es consultar a la compañía de webhosting al respecto.

A continuación mostramos la línea de comandos que nos permitirán inhabilitar el hotlinking de ciertos tipos de archivos en nuestro sitio web, en este caso imágenes, JavaScript (js) y CSS. Simplemente se debe añadir el siguiente código en el archivo .htaccess y subir el archivo ya sea al directorio raíz o a un subdirectorio particular para localizar el efecto solo en una sección del sitio:

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

Hay que asegurarse de reemplazar «midominio.com» con nuestro dominio. El código anterior crea una solicitud fallida cuando se hace hotlinking a los tipos de archivos especificados. En el caso de las imágenes en su lugar se muestra una imagen rota.

¿Cómo servir contenido alternativo cuando se detecta hotlinking?

Podemos modificar el archivo .htaccess para que el servidor muestre un contenido distinto cuando ocurre el hotlinking. Esto se hace comúnmente con imágenes, y en este caso podemos mostrar la imagen de un hombre enojado en lugar de la imagen enlazada. El código para conseguir este efecto es el siguiente:

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

En este código también debemos reemplazar «midominio.com» con nuestro propio dominio y angryman.gif por el archivo que queremos mostrar.

 

 

 Guía sobre htaccess