TheJoe.it Into the (open) source

15lug/130

WordPress: migrare da una sotto-directory alla root

wordpress-logo2

L'articolo di oggi è un po' tecnico, ho dovuto approfondire alcune dinamiche che non mi erano troppo chiare per alcuni pasticci combinati quando ho installato WordPress (il motore di questo blog) su TheJoe.it.

Riporto di seguito la procedura descritta sul blog di supporto a WordPress per spostare una installazione esistente di WordPress dall'interno di una cartella, alla radice del dominio. Come nel mio caso WordPress era installato in "http://thejoe.it/wordpress/", il file index.php nella root directory era invece un semplice redirect 301 alla directory "/wordpress".

17mar/1224

La parola chiave “(not provided)” in Google Analytics

google-analytics

Google Analytics è un potente strumento di cui possiamo disporre gratuitamente grazie a Google. Offre una miriade di possibilità dalla possibilità di monitorare gli accessi, al controllo della frequenza con cui un visitatore torna sul sito, le sezioni più cliccate, le meno cliccate ed anche le parole chiave che dopo la ricerca indirizzano al sito.

Da quando Google ha implementato SSL sugli utenti loggati però, è comparsa la voce "(not provided)" fra le mie statistiche. All'inizio si trattava di una percentuale molto bassa a cui non ho dato il giusto peso, dopo diversi anni di funzionamento però, trovo la voce "not provided" al 64,52%, oggi terza fra tutte le ricerche.

26feb/104

Alcuni consigli nell’uso di “.htaccess”

not_found.jpg Arrivato al terzo post consecutivo su “.htaccess” credo sia il caso di dire che l’argomento mi intrighi sufficientemente. Oggi vedremo alcuni consigli e customizzazioni nell’uso di “.htaccess”, migliorando le prestazioni del nostro server.

Inserito in: SEO, Tips, Web Continua a leggere
25feb/100

Usare il file “.htaccess” per bloccare l’hotlinking

broken_link.jpg Continuiamo a parlare di “.htaccess”, oggi vediamo come bloccare gli hotlink alle immagini residenti nel nostro server.

Già ieri abbiamo parlato di come proibire l’accesso alle nostre immagini da siti esterni (come spesso accade con forum o siti amatoriali), che non fanno altro che incrementare l’uso della banda, riducendo le risorse del nostro server. Nel caso di ieri l’utente vedrà il simbolo di immagine mancante, chi prova a collegarsi direttamente al sito ottiene l’errore “403 Forbidden”.

Oggi ci vogliamo invece divertire. Non sarebbe divertente se l’utente al posto di vedere l’immagine mancante vedesse un’altra immagine che lo esorta a non linkare dal nostro server? Questa volta dovremo creare un file “.htaccess” direttamente nella directory delle immagini. E’ possibile creare più “.htaccess” su di un server. Se ne possono creare uno per ogni directory. Vediamo come sarà il nostro per le immagini:

Inserito in: SEO, Tips, Web Continua a leggere
24feb/104

Usare il file “.htaccess” per bloccare gli accessi

googlebot1.jpg A chiunque sia capitato di monitorare gli accessi di un sito sarà capitato di imbattersi in accessi molto simili fra loro, spesso si tratta di crawler (lo stesso Google utilizza un sofisticato tipo di crawler chiamato GoogleBot). Parafrasando Wikipedia:

Un crawler (detto anche spider o robot), è un software che analizza i contenuti di una rete (o di un database) in un modo metodico e automatizzato, in genere per conto di un motore di ricerca.

Solitamente i crawler sono innocui, creano un limitatissimo traffico all’interno del sito (se fatti bene) per offrire il servizio di indicizzazione che tutti ben conosciamo ed apprezziamo. [more]

Esistono però dei crawler che, con gli stessi meccanismi dei crawler di indicizzazione, scansionano il web alla ricerca di falle nel codice delle pagine. Come sappiamo non sempre i webmaster sono attenti nella programmazione, e a volte veniamo a conoscenza di alcune falle nella sicurezza del sito (o portale). Questi crawler dannosi esplorano in lungo e in largo il web, indicizzando le pagine per se stessi al fine di poter “bucare” il sito, ed avere accesso al server o peggio a dati sensibili.

Inoltre, oltre a non farci un buon servizio di indicizzazione, aumentano l’uso della banda, costringendo il navigatore a visitare il sito più lentamente. Insomma… oltre al danno la beffa.

È però possibile tramite un semplicissimo file di testo bloccare l’accesso a determinati IP o “user agent” una volta individuati. Sto parlando del file “.htaccess”.

Il file “.htaccess” è un file di configurazione utile al server, uno strumento molto semplice, ma altrettanto potente, e non può essere usato con leggerezza. Un errore nella configurazione del file potrebbe inibire al webmaster l’accesso alle proprie pagine, per cui andiamoci cauti.

Il metodo più sicuro per sapere se lo “user agent” che ha fatto di recente visita al sito è un crawler dannoso è una ricerca su Google. Cerchiamo separatamente lo “user agent” e l’indirizzo IP dal quale ci è arrivata la richiesta.

Blocco del bot tramite “.htaccess”

Questo esempio, e tutti i successivi, possono essere aggiunti in fondo al file “.htaccess”, sempre che sia stato creato. Se non è già esistente è possibile crearlo: un semplice file di testo che chiameremo “.htaccess” andrà messo nella “root directory” del server.

#sbarazziamoci del bot
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^BadBot
RewriteRule ^(.*)$ http://go.away/

Che fa questa parte di codice? Semplice. Le poche righe qui sopra dicono al server di controllare ogni accesso il cui “user agent” inizi con “BadBot”. Quando ne trova uno che coincide lo reindirizza ad un indirizzo non esistente chiamato “http://go.away/”.

Ora vediamo come bloccarne più di uno:

#sbarazziamoci dei bot
RewriteEngine on
RewriteCond %{HTTP_USER_AGENT} ^BadBot [OR]
RewriteCond %{HTTP_USER_AGENT} ^EvilScaper [OR]
RewriteCond %{HTTP_USER_AGENT} ^FakeUser
RewriteRule ^(.*)$ http://go.away/

Il codice di qui sopra fa esattamente le stesse cose che faceva il primo, in questo caso blocca tutti gli “user agent” che iniziano con “BadBot”, “EvilScraper”, “FakeUser”. Notare che quando c’è più di un bot da bloccare è necessario mettere “[OR]” alla fine della riga di tutte le regole, tranne che all’ultima.

Blocco dei “ladri” di banda

Chi naviga di solito non lo sa, ma spesso accade che per non appesantire il proprio server (o per semplice ignoranza) alcuni webmaster includano delle immagini residenti altrove nelle proprie pagine. Questo alleggerisce il carico del server che non ha l’onere di ospitare l’immagine, ma appesantisce il traffico sul server in cui l’immagine risiede, senza contare che il secondo server non ha alcuna pubblicità dal lavoro svolto.

Visto che non possiamo permetterci di cambiare a rotazione le immagini del nostro sito, anche in questo caso “.htaccess” ci viene in aiuto.

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://.*somebadforum\.com [NC]
RewriteRule .* - [F]

In questo modo “somebadforum.com” sarà reindirizzato ad un codice403 Forbidden” per ogni immagine inclusa. Il risultato finale sarà il classico simbolo di immagine mancante (broken image), e la banda del nostro server sarà salva.

Per bloccare più di un sito questo è il codice:

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://.*somebadforum\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*example1\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://.*example2\.com [NC]
RewriteRule .* - [F]

Come sopra, notare sul finale di ogni riga “OR”, ad eccezione dell’ultima.

Bannare gli IP

Può anche capitare che i bot si facciano furbi, e a rotazione cambino il loro “user agent”, in modo da avere continuo accesso alle pagine del sito. Quando capita questo fenomeno uno dei modi per bloccare l’accesso al bot “fantasioso” è bloccare l’IP (bloccarlo solo se c’è un continuo accesso dallo stesso IP). Sempre nel nostro fidato “.htaccess” aggiungiamo le seguenti righe:

order allow,deny
deny from 192.168.44.201
deny from 1.2.3.4
deny from 5.6.7.8
allow from all

In questo esempio blocchiamo tre indirizzi IP, con l’ultima riga garantiamo l’accesso a tutti gli altri. Ma è anche possibile bloccare l’accesso alla radice dell’indirizzo (es. 192.168.*):

order allow,deny
deny from 192.168.
deny from 100.29.
deny from 500.699.
allow from all

Con queste regole tutti gli indirizzi IP che iniziano con “192.168.” (e seguenti) verranno bloccati.

Suggerisco sempre di creare un backup di “.htaccess”, non sempre le cose vanno come vogliamo, e non sarebbe utile a nessuno non avere più l’accesso al proprio server. Gli hoster più diffusi offrono il supporto al file “.htaccess”, nel caso in cui il tuo hoster non offrisse tale supporto credo sia il caso di cambiare hoster.

Inserito in: SEO, Web 4 Commenti