Perchè fermarsi all’Hot linking sulle immagini?

La settimana scorsa ho parlato di un caso reale che mi è capitato circa l’Hot Linking, che riassumendo significa rubare la banda altrui proponendo sul proprio sito immagini hostate presso un altro provider. Al contempo avevo fornito anche quella che credo sia l’unica soluzione (almeno quella più maneggevole) su come difendersi con ASP.Net: creare un handler che gestisca le immagini e che restituisca un’immagine opportuna a seconda dell’origine del referer.

Ora, come dice bene il proverbio, il lupo perde il pelo ma non il vizio. L’altro ieri, altro sito, altro picco di traffico, ma era un picco ancora più strano perchè le richieste che vedevo prendevano in esame tutta la pagina.

Rapida scorsa nel log file per le statistiche et voilà: ecco il colpevole. Un tal dominio nyud.net. La cosa strana che vedevo era però l’url particolare, così composto miodominio.estenzione.nyud.net:8090.
Con amara sorpresa collegandomi a quel sito, mi ritrovo la fotocopia del mio sito sotto diverso URL.

Argghhhhh!!! Copia totale del sito: dal testo alle immagini, dai banner a … tutto!!!!

Calma e sangue freddo. Fiddler alla mano, analizzo cosa succede e mi accorgo che in realtà questo sito web agisce come un proxy, facendo richiesta della pagina originale e restituendola sotto altro url. image

Un bel whois per capire a chi è intestato il dominio e scopro che dietro c’è un tal Michael Freedman con tanto di indirizzo e-mail. Primo cosa che faccio, gli mando due righe chiedendo di fermare immediatamente la cosa.

Nel frattempo sempre mi accorgo che in realtà questo sito non fa nulla per mascherare la propria identità (quindi magari agiscono in buona fede?!?) e che riportano nello User-Agent un dominio facente capo a http://coralcdn.org/ dove danno alcune spiegazioni, ovvero che aggiungendo il suffisso nyud.net:8090 a qualsiasi dominio (no sottocartelle) il loro proxy server va e preleva una copia del sito in questione per ridistribuirla anche in caso di problemi sul server originale. Sul sito in questione, infatti, riportano:

Are you tired of clicking on some link from a web portal, only to find that the website is temporarily off-line because thousands or millions of other users are also trying to access it? Does your network have a really low-bandwidth connection, such that everyone, even accessing the same web pages, suffers from slow downloads? Have you ever run a website, only to find that suddenly you get hit with a spike of thousands of requests, overloading your server and possibly causing high monthly bills? If so, CoralCDN might be your free solution for these problems!

in italiano (riassunto):

Stanco di aspettare che un sito risponda perchè ha dei problemi di banda o troppi utenti collegati? Per tutto questo c’è il nostro sito.

Sono spegazioni che non corrispondono completamente al vero. Se il sistema CoralCDN fa veramente caching, se ho dei problemi dovrei ottenere una sorta di cache di Google. Test rapido: metto off-line il blog, provo a ricollegarmi e boom, mi becco lo stesso identico errore 400 – sito off-line. image

E allora mi chiedo, dove sta il vantaggio di questo proxy che fa cache? Non ne intravedo nessuno, anzi, vedo solo svantaggi, e più in particolare il furto totale di contenuti denunciato all’inizio del post oltre che a quello della banda.

Furto che i motori di ricerca, Google in primis, potrebbero intendere come contenuto duplicato con annesse conseguenze.

In tarda serata ricevo una e-mail di risposta al mio messaggio dal Sig. Freedman. Una e-mail assolutamente stereotipata nella quale Freedman dice: il progetto di tipo universitario è usato da molte persone tutti i giorni (circa 1 milione di utente giornalieri), … il progetto è operativo da Marzo 2004 … bla bla bla.

Insomma, sapete come sono le risposte automatiche no? Rispondo dimostrando le mie perplessità sul progetto e sulla reale validità del suo progetto. In sintesi gli scrivo questo:

I’m sorry, but what you say on your web page coralcdn.com isn’t completely true.
Testing your web project, in fact, returned me the truth: you simply pick up the stream of the spoofed web site and return below your url.
This mean that you don’t help spoofed web site to save band or reduce their traffic as you would let believe your user.
In a shorten time, also if a web site doesn’t require additional bandwidth, sooner – thanks to your help – it will need it.
A second aspect that I don’t like is those one related to search engine. Acting as you do means creating duplicate contents that search engines, Google in particular, doesn’t like anymore.

Non ci contavo in una risposta, ma contrariamente ad ogni aspettativa, il giorno dopo ricevo una e-mail di ulteriore chiarimento dove dice che il servizio dapprima fa una scansione e poi via via inizierà a servire contenuti da uno degli oltre 300 server sparsi per il mondo. Un sistema il loro – dice – che non ha un’archivio centralizzato e che esclude tutti i motori di ricerca con il file robots.txt per evitare l’antiduplicazione.

A questo punto le perplessità continuano all’impazzata: se non c’è un sistema centralizzato, ma risponde uno degli oltre 300 server, significa che o hanno messo a punto un sistema così brillante di interrogazione delle loro macchine oppure qualcosa non torna.
Parimenti, fare caching può essere interessante laddove il sito sia statico, quindi cambi raramente. Ma cosa succede con un e-commerce o con un blog dove le informazioni sono destinate a cambiare abbastanza spesso?
In questo caso dovrei ricevere una interrogazione dal sistema CoralCDN tutti i santi giorni, o forse di più, per fare in modo che il loro sistema sia aggiornato e rispecchi la realtà.

Ci sarebbe a questo punto da leggersi tonnellate di documenti (papers) che il sito mette a disposizione, spiegando l’architettura distribuita, il modo di fare storaging dei dati e tante altre cosine belle, ma onestamente non ho voglia perchè questo servizio a mio avviso è inutile. Se infatti ho un problema sul web server, sarebbe pure il caso che mi attivo per cercare di ripristinare la situazione inveche che adagiarmi sugli allori di un servizio che mi permetta di vedere una copia cache del mio sito. In sostanza faccio a meno volentieri di CoralCDN.