Non c’è niente di peggio di qualcuno che ti ruba le immagini o la larghezza di banda. Purtroppo, questo accade abbastanza regolarmente, perché tutto è all’aperto su internet, per potersi collegare facilmente con altre persone. Questo può costare soldi ed è anche illegale se la persona si collega a foto stock per cui si è dovuto acquistare una licenza d’uso. Oggi spiegheremo cos’è l’hotlinking, perché è dannoso e come si può evitare l’hotlinking sui vostri siti WordPress.

Cos’è l’Hotlinking?

Il concetto di hotlinking è molto semplice. Trovate un’immagine su Internet da qualche parte e utilizzate l’URL dell’immagine direttamente sul vostro sito. Questa immagine sarà visualizzata sul vostro sito web, ma sarà servita dalla posizione originale. Questo è molto conveniente per l’hotlinker, ma in realtà è un furto in quanto utilizza le risorse del sito hotlinked. È come se dovessimo salire in macchina e andarcene con la benzina che abbiamo sottratto all’auto del nostro vicino.

Perché l’Hotlinking è Dannoso

Qui sotto ci sono un paio di cose da sapere sull’hotlinking:

1. L’Hotlinking Costa Denaro al Proprietario del Sito Web Originale

Che qualcuno si colleghi alle vostre immagini dal suo sito web potrebbe non sembrare un grosso problema, ma potrebbe generare molti costi aggiuntivi per voi. The Oatmeal è un ottimo esempio. L’Huffington Post ha creato un hotlink ad un suo fumetto composto da più immagini. Dato che stiamo parlando di una pubblicazione importante con molto traffico, questo ha comportato notevoli costi extra per The Oatmeal, dato che le immagini venivano consegnate a migliaia di persone. Matthew Inman, creatore di The Oatmeal, ha sostituito tutti i file collegati con hotlink con i seguenti:

Esempio di hotlinking
Esempio di hotlinking

Si è anche preoccupato di sostituire l’ultima immagine con un disegno di un sedere e una pipì. Fantastico! Ma come si può vedere, i costi possono aumentare abbastanza rapidamente, soprattutto se un sito ad alto traffico è quello che fa hotlinking ai vostri contenuti. Volete credere che tutti i writer e i blogger sappiano come usare correttamente le immagini? Probabilmente no. Ed è per questo che esiste una protezione dagli hotlink.

Articolo correlato: Content Scraping – Combatterlo o Ignorarlo?

2. Nella Maggior Parte dei Casi, gli Hotlink Sono Illegali

Gli hotlink in molti casi sono illegali. Perché? Perché molte delle foto che vedete in giro per il web sono soggette a restrizioni di licenza. Qui ci sono un paio di restrizioni comuni sulle licenze dei popolari siti di foto stock:

  • Non è consentito alcun uso commerciale in nessuna circostanza”.
  • “Pubblicazione su un sito web o blog di vostra proprietà (in articoli o notizie a solo scopo illustrativo)”.

Entrambe le restrizioni di cui sopra potrebbero essere facilmente infrante se qualcuno si collega alla vostra immagine e la utilizza sul proprio sito web. Molto probabilmente non hanno il permesso di farlo, in quanto non hanno pagato la licenza. Questo va di pari passo con il fatto che non si collegano direttamente all’immagine sul loro sito, ma anche con la corretta attribuzione al creatore originale.

3. Drenaggio delle Risorse del Server

L’hotlinking può costituire un enorme spreco di risorse per il server di destinazione. Immaginate di essere su un host WordPress condiviso e l’Huffington Post si collega improvvisamente alle vostre immagini. Potreste passare da un paio di centinaia di richieste all’ora sul vostro sito a un paio di centinaia di migliaia. Questo potrebbe anche comportare la sospensione del vostro account di hosting. Questo è sicuramente un motivo valido per utilizzare non solo un host ad alte prestazioni (che può gestire picchi come questo), ma anche per attivare la protezione dagli hotlink in modo che questo non accada.

4. L’Hotlinking è Semplicemente Pigrizia

Le persone fanno hotlink semplicemente per pigrizia? Beh, molte volte la gente non fa intenzionalmente hotlink alle vostre immagini e non si rende conto che questo è un problema. Di solito sono solo impegnati a scrivere e si limitano a copiare gli URL e i file. Potrebbero anche non sapere come collegarsi correttamente a un’immagine. Tuttavia, questa non è ancora una buona scusa. Se si scrivono contenuti sul web, è importante comprendere le best practice per il collegamento alle immagini di altre persone, oltre alla corretta attribuzione.

Bloccare l’Hotlinking fa Male alla SEO?

Bloccare l’hotlinking non danneggerà la vostro SEO, ma il blocco deve essere configurato correttamente. Ci sono crawler di Google, Bing, Yahoo, ecc. che richiedono l’accesso alle vostre immagini per poterle indicizzare e visualizzare correttamente. Ad esempio, quando si vede un’immagine su Google Image Search, la miniatura viene servita dalla cache delle immagini di Google. Ma la versione originale (se ci si clicca sopra) viene effettivamente servita dal proprio server.

Hotlinking nella ricerca di immagini su Google
Hotlinking nella ricerca di immagini su Google

Ed è importante che le vostre immagini siano nella ricerca immagini di Google. Come dice WordStream, il traffico di ricerca delle immagini di Google è una “vittoria facile” e infatti può spingere le conversioni e lead per il vostro business che altrimenti non avreste ottenuto.

Come Prevenire l’Hotlinking

Avete alcuni semplici modi per proteggere le vostre immagini contro l’hotlinking. Diamo un’occhiata alle principali soluzioni.

Utilizzare un CDN con Protezione Hotlink

La maggior parte di voi serve contenuti in tutto il mondo dai vostri siti web e utilizza un provider di CDN per accelerare la consegna delle risorse. I provider di CDN come KeyCDN e Cloudflare dispongono di un’ottima protezione gratuita dagli hotlink già integrata. Questo è il metodo raccomandato in quanto hanno regole molto precise per i bot e altri referrer che in realtà non devono essere bloccati. Un altro vantaggio di bloccare gli hotlink sul CDN è che non dovete cambiare nulla sull’installazione di WordPress.

Se avete KeyCDN, basta cliccare su Zonereferrers e aggiungere le regole. I crawler potranno comunque accedere e indicizzare le vostre immagini.

Protezione KeyCDN hotlink
Protezione hotlink di KeyCDN

Hanno anche un’opzione ad un clic per consentire i referrer vuoti per zona.

KeyCDN consentono il referrer vuoto
KeyCDN consente il referrer vuoto

Ciò consentirebbe la protezione hotlink per gli asset sul vostro CDN, ma non sul vostro server di origine. Quindi, se siete molto preoccupati che qualcuno effettui l’hotlink alle vostre immagini direttamente sul vostro server, potreste anche abilitare la protezione dell’hotlink sul vostro server d’origine (vedi le regole di Apache e NGINX più avanti). Ma questo è molto improbabile, in quanto qualcuno dovrebbe rimuovere manualmente l’URL del CDN. Ma potrebbe succedere.

Se si utilizza Cloudflare, è possibile abilitare facilmente la protezione hotlink sotto Scrape Shield nel proprio account. La protezione hotlink non ha alcun impatto sul crawling, ma impedirà la visualizzazione delle immagini su siti come Google images, Pinterest, ecc. Poiché Cloudflare è un servizio completamente proxy, non dovete preoccuparvi di abilitare la protezione hotlink sul vostro server di origine.

Protezione hotlink Cloudflare
Protezione hotlink di Cloudflare

Se si utilizza Amazon S3, è possibile attivare la protezione hotlink con bucket policies, che si trova sotto “Permessi” sul vostro bucket.

Amazon S3 protezione hotlink
Protezione hotlink di Amazon S3

Basta aggiungere il seguente codice:

{
  "Version": "2008-10-17",
  "Id": "preventHotLinking",
  "Statement": [
    {
      "Sid": "1",
      "Effect": "Allow",
      "Principal": {
        "AWS": "*"
      },
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::my-brand-new-bucket/*",
      "Condition": {
        "StringLike": {
          "aws:Referer": [
            "http://yourwebsitename.com/*",
            "http://www.yourwebsitename.com/*"
            "https://google.com/*"
            "https://bing.com/*"
            "https://yahoo.com/*"
          ]
        }
      }
    }
  ]
}

Attivare la Protezione Hotlink su Apache

Se il vostro sito WordPress è in esecuzione su Apache, tutto quello che dovete fare è aprire il file .htaccess nella directory principale del vostro sito (o crearlo) e aggiungere quanto segue:

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomain.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?bing.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yahoo.com [NC]
RewriteRule \.(jpg|jpeg|png|gif|svg)$ http://dropbox.com/hotlink-placeholder.jpg [NC,R,L]

La seconda riga consente i referrer vuoti. È molto probabile che vogliate abilitarlo, poiché alcuni visitatori utilizzano un firewall personale o un programma antivirus che cancella le informazioni del referrer di pagina inviate dal browser web. Se non si consentono i referrer vuoti, si potrebbero inavvertitamente disabilitare tutte le immagini per questi utenti.

La terza riga definisce il referrer consentito, il sito che può collegarsi direttamente all’immagine. Questo dovrebbe essere il vostro sito web (aggiornate yourdomain.com sopra con il vostro dominio). La quarta, la quinta e la sesta riga aggiungono i motori di ricerca alla lista dei siti consentiti, dato che non si dovrebbero bloccare i crawler come Google bot o Bing bot. Questo potrebbe impedire la visualizzazione e l’indicizzazione delle vostre immagini nella ricerca delle immagini di Google.

E la settima riga definisce l’immagine che si vuole che il visitatore veda al posto dell’immagine protetta da hotlink. Questo non è necessario, ma si potrebbe dare un avvertimento amichevole. Se si desidera ammettere più siti, è possibile duplicare questa riga e sostituire il referrer. Se volete generare alcune regole più complesse, date un’occhiata a questo generatore di protezione hotlink per htaccess.

Se usate le regole di cui sopra insieme ad un CDN, potreste anche avere la necessità di inserire il vostro sottodominio CDN in una whitelist.

Attivare la Protezione Hotlink su NGINX

Se si gira su NGINX, basta aprire il file di configurazione e aggiungere quanto segue:

location ~ .(gif|png|jpeg|jpg|svg)$ {
     valid_referers none blocked ~.google. ~.bing. ~.yahoo. yourdomain.com *.yourdomain.com;
     if ($invalid_referer) {
        return   403;
    }
}

Se siete utenti di Kinsta e non utilizzate un CDN, possiamo aggiungere questo codice per voi. Basta aprire un ticket con il nostro team di supporto dal cruscotto di MyKinsta. Se state usando le regole di cui sopra insieme a un CDN, potreste aver bisogno anche di inserire il vostro sottodominio CDN in una whitelist.

Plugin WordPress

Ci sono alcuni plugin di WordPress relativi all’hotlinking, ma molti di quelli monouso non sono molto curati o hanno recensioni negative. Non consigliamo di usarli. Suggeriamo di dare un’occhiata al plugin All In One WP Security And Firewall, che è un eccellente plugin di sicurezza a tutto tondo, con la possibilità di prevenire l’hotlinking integrato. Tuttavia, è generalmente meglio abilitare la protezione dagli hotlink a livello di server o CDN.

All In One WP Security And Firewall
All In One WP Security And Firewall

All In One WP Security & Firewall ha attualmente oltre 500.000 installazioni attive con un’impressionante valutazione di 5 stelle su 5. Potete scaricarlo dal repository di WordPress o cercarlo all’interno della bacheca di WordPress sotto “Aggiungi nuovo” plugin.

Nota: Se siete utenti di Kinsta, questo plugin non è consentito in quanto applichiamo molte di queste stesse precauzioni di sicurezza a livello di server. Questo evita che abbiano effetti negativi sulle prestazioni del vostro sito WordPress e che siano perfettamente adatte per il nostro ambiente. Se avete bisogno di una protezione hotlink abilitata, contattate il nostro team di supporto.

Disattivare il Clic Destro in WordPress

Un’altra soluzione per evitare l’hotlinking in WordPress è quella di disattivare la funzionalità del clic con il tasto destro del mouse. Questo non è assolutamente un approccio a prova di bomba, ma può essere un buon modo per far sì che gli utenti tipici non rubino le vostre immagini o non le copino in altre applicazioni e non si colleghino al vostro dominio di origine.

C’è un piccolo plugin gratuito chiamato Prevent Content Theft che potete scaricare dal repository di WordPress o cercare all’interno della bacheca di WordPress sotto “Aggiungi nuovo” plugin. Non ci sono impostazioni, basta installarlo e si è pronti a partire.

Il plugin WordPress Prevent Content Theft
Il plugin WordPress Prevent Content Theft

Questo plugin non solo disabilita il click con il tasto destro del mouse sulle vostre immagini, ma anche sull’intera pagina, proteggendo così anche i vostri contenuti. L’abbiamo installato e testato sul nostro sito di sviluppo e qui sotto potete vedere un esempio di cosa succede quando un utente fa clic con il tasto destro del mouse su un’immagine. Gli appare un box di notifica che gli fa sapere che questa funzione è disabilitata.

Disattivare il clic destro in WordPress
Disattivare il clic destro in WordPress

Rinominare i File

Se scoprite all’improvviso un sito ad alto traffico o più fonti che si collegano ad una singola immagine, un metodo semplice è quello di rinominare semplicemente il file. Cambiate il link sul vostro sito e lasciate che gli hotlinkers si arrabbino quando le loro immagini diventano errori 404. Anche se a portata di mano, questo metodo è più che altro una soluzione rapida, ma è un po’ scomodo da usare contro l’hotlinking su larga scala.

Impostazioni di cPanel

Se avete installato cPanel o WHM per il vostro dominio, potete utilizzare lo strumento di protezione hotlink integrato. Date un’occhiata alla documentazione d cPanel per maggiori informazioni, basta attivare un’impostazione.

Come Presentare un Avviso di Rimozione DMCA

Dato che non possiedono l’immagine e la utilizzano senza il vostro permesso, un’altra soluzione è presentare un avviso di rimozione DMCA. Questo può essere una via rapida per assicurarsi che venga tolto. Sareste sorpresi di sapere cosa può fare una lettera di “abuso”. Molti proprietari di siti web si occuperanno subito della questione, perché temono un’azione legale.

Conclusioni

Se avete un aggregatore di contenuti o siete appassionati di condivisione, assicuratevi di giocare rispettando le regole e di collegarvi a siti web, e non visualizzate direttamente le immagini. Se siete davvero dei fan di ciò che state mostrando, sosterrete molto di più l’autore originale! Se siete creatori di contenuti, assicuratevi di proteggervi dai furti, l’hotlinking è una prassi non troppo difficile da prevenire. Uno qualsiasi dei metodi sopra citati vi farà risparmiare denaro, tempo e larghezza di banda.

Avete mai avuto a che fare con persone che si collegano alle vostre immagini? Parlatecene qui sotto.

Daniel Pataki

Hi, my name is Daniel, I'm the CTO here at Kinsta. You may know me from Smashing Magazine, WPMU Dev, Tuts+ and other WordPress/Development magazines. Aside from WordPress and PHP I spend most of my time around Node, React, GraphQL and other technologies in the Javascript space.

When not working on making the best hosting solution in the Universe I collect board games, play table football in the office, travel or play guitar and sing in a pretty bad band.