# Hot-link

Inline linking o hot-link (letteralmente "collegamento caldo") è uno stratagemma usato nella creazione di siti web nei quali le pagine fanno riferimento ad oggetti che non appartengono al dominio in cui questi vengono visualizzati o usati.
In particolare, gli hot-link sono usati con immagini di grosse dimensioni provenienti da altri siti web. Tale procedura comporta un forte sfruttamento del server in cui sono realmente memorizzate e un utilizzo praticamente nullo del server che contiene il sito web visualizzato.
Gli oggetti in hotlinking ovviamente, non essendo sotto la responsabilità di chi gestisce il sito web che li sfrutta, possono variare, sparire, essere rinominati o cambiati all'insaputa di chi li sfrutta. Inoltre il sito che li fornisce potrebbe sfruttare gli hotlinks per inoculare cookies ai visitatori.
È bene precisare che tale procedura non è molto corretta e neppure gradita da molti siti, a tal punto che spesso (nei servizi di hosting gratuito, ad esempio) l'hotlinking può essere disattivato.
Inoltre, espone il sito vittima di hot-link a possibili conseguenze relative alla violazione di copyright: se infatti ad esempio un sito europeo pubblica una immagine libera da copyright in Europa ma non negli USA, e questa viene poi riprodotta da un sito USA tramite hot-link, il responsabile del sito europeo sarà ritenuto responsabile della violazione del copyright su territorio statunitense.

## Collegamento in linea e HTTP

La tecnologia alla base del World Wide Web, il protocollo HTTP (Hypertext Transfer Protocol), non fa alcuna distinzione di tipi di collegamenti: tutti i collegamenti sono funzionalmente uguali. Le risorse possono trovarsi su qualsiasi server in qualsiasi posizione.
Quando si visita un sito Web, il browser scarica prima il contenuto testuale sotto forma di un documento HTML. Esso può richiedere l'elaborazione di altri file HTML, immagini, script e / o fogli di stile. Questi file possono contenere tag <img> che forniscono gli URL che consentono la visualizzazione delle immagini sulla pagina. Il codice HTML generalmente non specifica un server, il che significa che il browser web dovrebbe utilizzare lo stesso server del codice genitore (<img src="mela.jpg" />). Consente inoltre URL assoluti che fanno riferimento a immagini ospitate su altri server ( <img src="http://www.esempio.com/mela.jpg" />).
Quando un browser scarica una pagina HTML contenente tale immagine, il browser contatterà il server remoto per richiedere il contenuto dell'immagine.

### Tipologie di link in linea

Esistono 4 tipi di link in linea:
* Informativo: conduce a pagine che offrono più, e spesso più approfondite, informazioni relative alle parole collegate.
* Referenziale: serve da bibliografia in tempo reale.
* Definitivo: fornisce una definizione estesa delle parole collegate.
* Promozionale: link all'inizio di una canalizzazione di vendita.

## Usi comuni dei contenuti collegati

La capacità di visualizzare il contenuto di un sito all'interno di un altro fa parte del design originale del mezzo ipertestuale del Web. Gli usi comuni includono:
* È una violazione del copyright fare copie di un'opera per la quale non si dispone di licenza, ma non vi è violazione quando si fornisce un semplice collegamento di testo all'interno di un documento HTML che punta alla posizione dell'immagine o del file originale (chiamato semplicemente "link").
* Gli sviluppatori possono separare deliberatamente le immagini di un sito su un server o un gruppo di server. L'hosting di immagini su server separati consente al sito di dividere i requisiti di larghezza di banda tra i server. Ad esempio, il sito ad alto volume "Slashdot" memorizza la sua "prima pagina" in slashdot.org; storie individuali su server come games.slashdot.orgo it.slashdot.org e offre immagini per ogni host da images.slashdot.org.
* Un articolo su un sito può scegliere di fare riferimento a immagini o contenuti protetti da copyright su un altro sito tramite collegamento in linea, il che potrebbe evitare problemi di diritti e proprietà che la copia dei file originali potrebbe sollevare. Tuttavia questa pratica è generalmente sconsigliata a causa del conseguente caricamento della larghezza di banda della sorgente e il fornitore della sorgente è spesso offeso perché lo spettatore non vede l'intera pagina originale, che fornisce il contesto desiderato dell'immagine.
* Molte pagine web includono banner pubblicitari. I banner pubblicitari sono immagini ospitate da un'azienda che funge da intermediario tra gli inserzionisti e i siti Web su cui vengono visualizzati gli annunci. Il tag <img> può specificare un URL a uno script CGI sull'ad server, inclusa una stringa che identifica in modo univoco il sito che produce il traffico, ed eventualmente altre informazioni sulla persona che visualizza l'annuncio, precedentemente raccolte e associate a un cookie. Lo script CGI determina quale immagine inviare in risposta alla richiesta.
* Alcuni siti Web collegano un server più veloce per aumentare la velocità di caricamento del client.
* I contatori di visite o i contatori Web mostrano quante volte è stata caricata una pagina. Diverse società forniscono contatori di visite che vengono gestiti fuori sede e visualizzati con un collegamento in linea.

## Usi controversi del collegamento in linea (inline linking)

L'offuscamento dei confini tra i siti può portare ad altri problemi quando il sito viola le aspettative degli utenti. Altre volte, il collegamento in linea può essere eseguito per scopi dannosi.
* I siti con contenuto in cui l'oggetto è archiviato e da cui viene recuperato potrebbero non gradire il nuovo posizionamento.
* Il collegamento in linea a un'immagine memorizzata su un altro sito aumenta l'utilizzo della larghezza di banda di quel sito anche se il sito non viene visualizzato come previsto. Il reclamo può essere la perdita di entrate pubblicitarie o la modifica del significato percepito attraverso un contesto non approvato.
* Cross-site scripting e attacchi di phishing possono includere collegamenti in linea a un sito legittimo per ottenere la fiducia di una vittima.
* I servizi pay-per-content possono tentare di limitare l'accesso al loro contenuto tramite complesse tecniche di scripting e di collegamento in linea.
* Gli oggetti inline possono essere utilizzati per eseguire attacchi drive-by al client, sfruttando errori nel codice che interpreta gli oggetti. Quando un oggetto viene archiviato su un server esterno, il sito di riferimento non ha alcun controllo su se e quando il contenuto di un oggetto originariamente vantaggioso viene sostituito da contenuto dannoso.
* Le richieste di oggetti inline di solito contengono le informazioni sul referer. Ciò fa trapelare informazioni sulle pagine visitate ai server che ospitano gli oggetti.

## Prevenzione
### Lato client

La maggior parte dei browser Web seguirà ciecamente l'URL per i collegamenti in linea, anche se si tratta di un frequente reclamo di sicurezza. Le immagini incorporate possono essere utilizzate come bug web per tracciare gli utenti o per trasmettere informazioni a terzi. Molti strumenti del browser per il filtro degli annunci limitano questo comportamento a vari livelli.

### Lato server

Alcuni server sono programmati per utilizzare l'intestazione del referer HTTP per rilevare l'hotlink e restituire un messaggio "di condanna", comunemente nello stesso formato, al posto dell'immagine o del clip multimediale previsto. La maggior parte dei server può essere configurata per proteggere parzialmente i media ospitati dal collegamento in linea, solitamente non servendo il supporto o servendo un file diverso.
La riscrittura degli URL viene spesso utilizzata (ad esempio mod_rewrite con Apache HTTP Server) per rifiutare o reindirizzare i tentativi di hotlink a immagini e supporti a una risorsa alternativa. La maggior parte dei tipi di media elettronici può essere reindirizzata in questo modo, inclusi file video, file musicali e animazioni (come Adobe Flash, obsoleto dal 31 dicembre 2020).
Altre soluzioni di solito combinano la riscrittura degli URL con alcuni script complessi lato server personalizzati per consentire l'hotlinking per un breve periodo, o in configurazioni più complesse, per consentire l'hotlinking ma restituiscono un'immagine alternativa con qualità e dimensioni ridotte e quindi ridurre il carico di larghezza di banda quando richiesto da un server remoto. Tutte le misure di prevenzione degli hotlink rischiano di deteriorare l'esperienza dell'utente sul sito Web di terze parti.

## Problemi di copyright sollevati dal collegamento in linea

La questione legale più significativa sul collegamento in linea, relativo alle considerazioni sul diritto d'autore, è che il linker in linea (inline linker) non colloca una copia del file di immagine sul proprio server Internet. Piuttosto, il linker in linea posiziona un puntatore sul proprio server Internet che punta al server su cui il proprietario dell'immagine ha posizionato il file immagine. Questo puntatore fa in modo che il browser di un utente salti al server del proprietario e recuperi il file di immagine sul computer dell'utente. I tribunali statunitensi hanno considerato questo un fatto decisivo nell'analisi del copyright. Pertanto, in Perfect 10, Inc. v. Amazon.com, Inc, la Corte d'Appello degli Stati Uniti per il Nono Circuito ha spiegato perché il collegamento in linea non viola la legge sul copyright degli Stati Uniti.