• User Attivo

    Antihotlinking: RewriteCond per distinguere il tipo di link

    Ciao,
    spero di riuscire a spiegarmi bene anche se temo non ce la farò.

    Per evitare l'hotlinking avevo messo questo:

    RewriteCond %{HTTP_REFERER} !^$
    RewriteCond %{HTTP_REFERER} !^(.)miosito.xxx/.$
    RewriteRule .(jpg|png|gif)$ -

    Purtroppo con questo si riesce solo ad impedire la visualizzazione delle immagini e a salvare la banda, ma non si riesce ad impedire che google indicizzi comunque le immagini di un sito (il mio!) legandole alle pagine di altri e quindi con danno in termini di viste al sito "autore" dell'originale.

    Con l'obiettivo di recuperare un po' di visite, sfruttando il fatto che per ogni immagine esiste una pagina con lo stesso nome (immagine_1.jpg si visiualizza in immagine_1.php), ho cambiato il rewrite in:

    RewriteRule ^(.)/immagini/(.).jpg$ /$1/htm/$2.php [R,L]

    Funziona, ma non bene.
    Da un lato recupero le visite da parte di quei siti che hanno messo un link <a href="miosito/miaimmagine"> diretto alla mia immagine, ma dall'altro trasformo ogni immagine inserita come <img src="miosito/miaimmagine>" in una richiesta di pagina che non viene visualizzata da nessuna parte (è vero?) ma che viene comunque elaborata e conteggiata dal contatore di visite presente in essa, sballandomi le statistiche.

    La domanda è:
    esiste una combinazione di RewriteCond (o altro) che consenta di distinguere un tipo di hotlink dall'altro?

    Grazie


  • Super User

    @bluc said:

    Ciao,
    spero di riuscire a spiegarmi bene anche se temo non ce la farò.

    Ciao bluc,
    in effetti non sono riuscito a capire il problema 😞


  • User Attivo

    Ci riprovo... 🙂

    Per riprendermi parte delle visite perse a causa dell'hotlink delle mie foto, vorrei fare un rewrite dei jpg in questo modo:

    • Se la richiesta viene da un tag <img src="urlmiafoto"... restituisco Forbidden (o un'immagine alternativa).
    • Se la richiesta vine da un link <a href="urlmiafoto"... restituisco la (mia) pagina che contiene la foto.

    Il problema è come riuscire a distinguere i due casi.

    Grazie :ciauz:


  • Super User

    Non mi vengono soluzioni in mente.
    Le due richieste credo siano uguali e non saprei come distinguerli.