Prevenire lo spreco di banda con .htaccess

Dando un occhiata alle statistiche di questo blog una buona parte della banda e consumata da “spam crawlers” e “cross site image stealing“.

Per lo splog mi sono già attrezzato e devo dire che non ho più avuto problemi, ma per limitare un po il consumo di banda sto valutando alcune soluzioni.

Partiamo dalle cose più semplici.

Per il “furto” della immagini da altri siti (cross site image stealing) ho seguito questo tutorial che mi ha portato a creare un file .htaccess dentro la directory delle immagini.

SetEnvIfNoCase Referer "^https://maurizio.mavida.com/" ok_img
SetEnvIfNoCase Referer "^http://maurizio.mavida.com$" ok_img
SetEnvIfNoCase Referer "^$" ok_img
< filesmatch "\.(gif|png|jpe?g)$">
Order Allow,Deny
Allow from env=ok_img
< /filesmatch>

In pratica grazie al modulo mod_setenvif istruisco apache che per alcuni tipi di file (gif|png|jpe?g) deve verificare se il Referer ha impostato correttamente la varibile “ok_img”.
Nel mio caso l’accesso alle immagini viene negato a tutti tranne che alla pagine sotto “http://maurizio.mavida.com”.

Ispirato invece da quest’altro articolo sto provando ad applicare lo stesso procedimento per crowlers e spyder troppo invasivi …

La logica in questo caso è inversa: consenti a tutti tranne che per le casistiche previste.

SetEnvIfNoCase User-Agent "^Wget" no_page
SetEnvIfNoCase Remote_Addr "195.225.176.73" no_page
SetEnvIfNoCase Remote_Addr "195.225.177.90" no_page
SetEnvIfNoCase Remote_Addr "212.252.169.99" no_page
< filesmatch "\.(htm|php)$">
Order Allow,Deny
Allow from all
Deny from env=no_page
< /filesmatch>

Per popolare la mia black-list ho incominiato usando i commenti taggati come spam, ma in questo modo l’elenco degli ip potrebbe essere molto lungo ad in alcuni casi potrebbe anche dare problemi di “performace”. E’ quindi da implementare con cirterio, verificando magari chi è il proprietario.

Le direttive impostabili con il modulo mod_setenvif sono molto potenti e quanto avete letto va considerato solo come un antipasto ….

2 commenti

  1. interessantissima questa cosa.

    mi paicerebbe inserirla nel mio blog. basta copiace il codice modificando i parametri?

    bosogna inserirlo nella root delel imamgini oppur anche nella sub?

    grazie

  2. va inserito in ogni directory in cui ci sono immagini a cui non si vuole permettere la visualizzazione da altri referer.

    tecnicamente puoi copiare lo script ma fai attenzione agli spazi che ho messo per poterlo pubblicare.
    molto interessante anche il tutorial che ho linkato.

    un ultima cosa: verifica che il tuo apache abbia il modulo setenvif installato.

Lascia una risposta

Il tuo indirizzo email non sarà pubblicato.