• User Attivo

    Evitare che si usi uno script su img src al di fuori del mio dominio

    Avrei un piccolo (insomma) problemino:

    Ho fatto uno script per generare delle immagini glitter a partire dal testo scritto, usando Imagemagick (il wrapper PECL IMagick per l'esattezza) in PHP.

    Il problema (che non è correlato direttamente ad imagemagick) è questo:

    Nella pagina del generatore di glitter ho messo due pulsanti: uno con scritto "glitter it" che praticamente fa vedere come viene glitterizzato il testo che gli utenti mettono, e poi un altro pulsanto con scritto "Get html code" che salva l'immagine generata sul filesystem, e crea il codice html per poter includere questa immagine (ormai generata sul filesystem) nel proprio sito attraverso il tag img src che chiama direttamente il file dell'immagine.

    Solo che, come sempre, qualche furbetto anzichè generare il codice ha messo sul proprio sito direttamente il tag img a mano, mettendo come src l'indirizzo dello script che genera l'immagine al volo:

    per es:

    <img src="w.w.w.sitogeneraglitter/generaglitter.php?testo=Ciao" alt="..." />

    quindi ogni volta che qualcuno guarda il suo sito viene chiamato al volo il mio script che genere ogni volta nuovamente l'immagine e impiega tempo CPU.

    Quindi.... come potrei fare un controllo all'interno di generaglitter.php in modo che se quella pagina è stata inclusa su un tag <img che si trova all'esterno del mio dominio non fa generare il glitter ?

    quindi se metto quel tag sopra all'interno del mio sito (dentro w.w.w.sitogeneraglitterecc..) lo script deve genera correttamente il glitter, se invece quel tag viene messo ad esempio su w.w.w.unaltrositoecc.. (qualsiasi sito sia) con un if devo interrompere la generazione del glitter evitando di far perdere tempo alla CPU del server dov'è ospitato il mio script.

    Tutto questo perchè chi gestisce il server dov'è messo il mio script si è lamentato dicendomi che questo occupa il 100% della CPU (il che mi sembra strano visto che per adesso nn ho molto traffico...giusto 30-40 utenti al giorno... ma il problema probabilmente è dovuto a qualche utente che chiama il mio script dai tag <img dall'esterno e non riesco neanche a tracciare queste visite perchè il contatore del sito non le conta).

    ho visto che esiste $_SERVER['HTTP_REFERER'] ma non funziona...mi ritorna una stringa vuota.

    Mi sa di essermi spiegato male....spero abbiate capito e possiate darmi un consiglio su come fare 🙂

    Grazie 🙂


  • ModSenior

    In giro si trova molto sull'argomento, cercando "evitare hotlink" e simili trovi molte spiegazioni.

    Qualche link:
    http://www.davidesalerno.net/come-proteggere-le-tue-immagini-dagli-hotlink-e-risparmiare-banda/