L'hotlinking è una tecnica che consiste nel mostrare direttamente nel proprio sito contenuti inseriti in altre pagine web; l'hotlinking permette di sfruttare la banda disponibile per il sito da cui si è prelevata la risorsa generando traffico che incide in minima parte sulle risorse del server esterno che le linka.
In alcuni casi l'hotlinking è permesso e promosso dagli stessi siti che mettono a disposizione dei navigatori e dei webmaster i contenuti presenti nel loro spazio hosting, si pensi per esempio ai comuni programmi di affiliazione che forniscono banner e annunci, oppure a servizi di streming video come YouTube.
In altri casi si tratta di un vero e proprio 'Bandwidth Theft' cioè 'furto di banda'. Ciò accade quando dei contenuti esterni vengono messi a disposizione dei navigatori senza il consenso dei proprietari.
Sia chiaro, l'hotlinking non è di per sè una pratica illegale, ma se non si ha intenzione di cedere gratuitamente traffico pagato è bene sapere come fare.
Apache ci permette tra le altre cose di prevenire una delle forme di hotlinking più diffuse, quella sulle immagini: sarà sufficiente scrivere un file ".htaccess" e inserirlo nella root del Web server per impedire che i non autorizzati possano sfruttare la nostra banda:
SetEnvIfNoCase Referer "^http://www.sito.com/" locally_linked=1 SetEnvIfNoCase Referer "^http://www.sito.com$" locally_linked=1 SetEnvIfNoCase Referer "^http://sito.com/" locally_linked=1 SetEnvIfNoCase Referer "^http://sito.com$" locally_linked=1 SetEnvIfNoCase Referer "^$" locally_linked=1 <FilesMatch "\.(gif|png|jpe?g)$"> Order Allow,Deny Allow from env=locally_linked </FilesMatch>Il listato del file .htaccess permette quindi soltanto a referer provenienti dall'interno del server di linkare le immagini , da notare come la direttiva possa essere imposta per tutti i formati di immagini comunemente supportati dai browser , GIF, PNG e JPEG.