Archivi tag: .htaccess

Personalizzare il permalink del plugin per WordPress All in One Event Calendar

Conoscete il plugin All in One Event Calendar? Io lo uso in alcuni siti con soddisfazione.
Però c’è una cosa che non mi piace: la sua gestione dei permalinks, che scrive nell’url un marcatore personalizzato “ai1ec_event” tipo questo:

www.miosito.it/a1ec_event/la-mia-manifestazione?instance_id=11

Si può ovviare a questa cosa modificando l’.htaccess (metodo un po’ complesso, che non tratterò) oppure, come ho letto sui forum di wordpress, alterando una riga nel file di configurazione del nostro plugin.

Vediamo meglio come personalizzare il permalink del plugin per wordpress All in One Event Calendar

Innanzitutto devo cercare il file che configura il plugin dal nome:
wp-content/plugins/all-in-one-event-calendar/app/helper/class-ai1ec-app-helper.php
class-ai1ec-app-helper.php

Poi lo apro con un editor, individuo la riga con il testo

'rewrite' => true,

e la sostituisco con questo codice

'rewrite' => array( 'slug' => 'manifestazione' ),

Nota: io ho usato il termine “manifestazione“, ma voi potete personalizzarlo con ciò che si addice meglio al vostro sito.

A questo devo andare nell’area di amministrazione del mio WordPress e fare un refresh dei permalinks. Basta andare in Impostazioni->Permalink e salvare di nuovo la pagina.

A questo punto troverò gli url creati dal plugin per WordPress All in One Event Calendar con una struttura del genere:

www.miosito.it/manifestazioni/la-mia-manifestazione?instance_id=11

Proteggere cartelle e directory con password usando .htaccess

Introduzione

Se hai un sito che contiene dei dati sensibili, come informazioni sui tuoi utenti, indirizzi email, documenti interni etc. ti sari sicuramente posto il problema di dove conservare questi file, in modo da escludere l’accesso a persone non autorizzate. Se il tuo sito è in hosting, è molto probabile che il server usi Apache

Il modo più rapido per proteggere una directory tramite Apache consiste nell’implementare un’autenticazione via web. Htaccess è il metodo più comune, e verrà spiegato in questa guida.

Requisiti

Prima di continuare, assicurati di rispettare queste condizioni:

  • il tuo webserver è Apache;
  • puoi connetterti al server via FTP e telnet/ssh;
  • conosci i comandi base per navigare all’interno delle directory del tuo server;
  • riesci a stabilire il percorso assoluto delle directory;

Il file .htaccess a nudo

Htaccess è uno schema di autenticazione username/password che entra in gioco quando una determinata directory o un file vengono richiesti. Htaccess è un metodo di autenticazione “plain-text”, il che vuol dire che username e password vengono inviati in semplice formato testo, non criptato.  Sebbene ci siano molte poche possibilità che qualcuno intercetti i tuoi dati, l’autenticazione tramite htaccess è sicura quanto una connessione telnet o ftp.

Per proteggere una directory del tuo webserver usando .htaccess, devi creare due file:

  1. .htaccess: questo file contiene le preferenze ed i dettagli riguardo ai metodi di autenticazione e i permessi per la directory.
  2. .htpasswd: questo file contiene una lista criptata di combinazioni di username e password che viene usata da Apache insieme al file .htaccess per concedere o negare l’accesso

E’ importante sottolineare che un file .htaccess presente nella directory /dir1 proteggerà anche tutte le sotto-directory di /dir1, come /dir1/sub1, a meno che non ci sia una coppia di file .htaccess e .htpasswd nella directory /dir1/sub1. Se ci fosse, questa varrebbe solo per /dir1/sub1 e tutte le sottocartelle (ad esempio /dir1/sub1/subsub1).

Il file .htaccess funziona come uno script di configurazione, e fornisce ad Apache alcuni dettagli ed opzioni quando un utente viene autenticato. Con un editor di testi crea un nuovo file chiamato “.htaccess” (le virgolette potrebbero essere necessarie se usassi, ad esempio, blocknotes, per evitare che venga aggiunta l’estensione .txt). Inserisci il seguente testo nel file .htaccess:

AuthUserFile /www/htdocs/secure/.htpasswd
AuthGroupFile /dev/null
AuthName "Directory Protetta"
AuthType Basic

<Limit GET>
require valid-user
</Limit>

Come avrai notato, il file .htaccess è diviso in due sezioni, la prima parte per i dettagli di autentificazione e la seconda parte con i permessi per l’utente. Entriamo in dettaglio.

AuthUserFile /www/htdocs/secure/.htpasswd

Nella prima linea è indicato il percorso assoluto al file .htpasswd. Questo file contiene una lista di combinazioni di username e password che Apache userà per verificare tutti i tentativi di login (maggiori dettagli di seguito).

Nell’esempio il file .htpasswd è localizzato nella directory /www/htdocs/secure. Devi cambiare questo percorso con quello della directory che vuoi proteggere. Per conoscere il percorso assoluto devi portarti via telnet/ssh nella cartella e dare il comando “pwd”.

AuthGroupFile /dev/null

La seconda linea fa riferimento ad un file per l’autentificazione di gruppi. Questo potrebbe essere utile per separare gli utenti in gruppi distinti, come studenti e professori o staff e visitatori ad esempio. Siccome non ne faremo uso, indichiamo /dev/null, in modo tale da “avvisare” Apache che il file non esiste.

AuthName "Directory Protetta"

Nella terza linea, indichiamo quella che Explorer chiama “Area Autenticazione”, come puoi vedere in questa immagine:

Ovviamente puoi scegliere qualsiasi cosa. E’ molto importante racchiudere il testo tra due virgolette (” e “).

AuthType Basic

La variabile AuthType imposta il tipo di autentificazione per la richiesta. Dato che stiamo usando una semplice autentificazione via web, la impostiamo su Basic. Altri valori possibili sono PGP e Digest.

La seconda sezione del nostro file .htaccess, contiene le richieste e i metodi di risposta a cui gli utenti autenticati hanno accesso:

<Limit GET>
...
</Limit>

Nel nostro file .htaccess consentiamo agli utenti autorizzati l’accesso a tutte le parti del sito in cui il metodo GET è permesso (in poche parole, gli utenti possono vedere una pagina, ma non possono compilare form etc). Altri limiti includono PUT e POST. Per ampliare le possibilità degli utenti, basta aggiungere PUT e/o POST nel primo tag, in questo modo:
<Limit GET POST PUT>

<Limit GET>
require valid-user
</Limit>

Tra i tag <Limit> e </Limit>, possiamo inserire una lista di utenti a cui intendiamo concedere l’accesso alle cartelle protette, precendendo l’username con “require user”, ad esempio:

require user giovanni
require user pino
require user mafalda

In alternativa, (come ho fatto nel mio file .htaccess) si può garantire l’accesso a tutti gli utenti con l’esatta accoppiata username/password:

require valid-user

Questo è tutto quello che riguarda una semplice spiegazione del file .htaccess. Quando un utente non autenticato tenta di visitare la directory protetta, il file .htaccess viene caricato ed elaborato da Apache, che fa visualizzare la maschera per l’inserimento di username e password. Arrivati a questo punto non resta che aggiungere utenti alla lista delle persone autorizzate.

Questo viene fatto tramite il programma htpasswd.

Il file .htpasswd a nudo

Il file .htpasswd è molto più semplice del file .htaccess, dato che può essere composto anche da una sola linea. In realtà è composto da una lista di coppie nome/valore, che rappresentano le combinazioni di username/password. Ogni combinazione di username/password è separata da un ritorno a capo e viene usata da Apache per determinare se un utente che tenta di accedere alla directory protetta esiste, e se la password che ha fornito è valida.

Prima di creare il file .htpasswd, devi caricare sul server il file .htaccess (che abbiamo appena creato), nella directory che intendi proteggere. Questo può essere fatto con un qualsiasi client ftp. L’importante che l’upload avvenga in modalità ASCII.

Per creare il file .htpasswd, dovrai connetterti al tuo server usando telnet/ssh.
Una volta collegato, dovrai portarti nella directory che intendi proteggere, usando quindi il comando:

cd /www/htdocs/secure

Ovviamente /www/htdocs/secure varierà in base alla cartella che intendi proteggere.

Ora dobbiamo eseguire il programma htpasswd. Questo è un semplice programma che accetta 3 parametri:

htpasswd [opzioni] [file .htpasswd] [nuovo username]

Per il primo parametro, useremo “-c”. Questo informa il programma che stiamo creando un nuovo utente. Per il secondo parametro, digiteremo “/www/htdocs/secure/.htpasswd” (oppure “.htaccess solamente, a patto di trovarci nella cartella /www/htdocs/secure). Per l’ultimo parametro, indicheremo il nome dell’utente che vogliamo creare, ad esempio “giovanni”. Riassumendo, il comando per creare il nuovo utente giovanni, sarà il seguente:

htpasswd -c /www/htdocs/secure/.htpasswd giovanni

Dando il comando come indicato nella riga precedente (ovviamente sostituendo il percorso del file .htpasswd) ti verrà chiesto di digitare due volte la password che vuoi associare all’utente giovanni.

Per aggiungere un altro utente, non sarà più necessario usare il parametro “-c” (che serve a creare il file .htpasswd). Il comando sarà quindi:

htpasswd /www/htdocs/secure/.htpasswd mario

Ovviamente si dovrà inserire due volte la password

Questo è tutto il necessario per proteggere le directory! Possiamo controllare se il sistema funziona, aprendo il browser e collegandoci all’indirizzo corrispondente alla directory protetta. Si dovrebbe aprire un box in cui è possibile inserire username e password.

Inserendo giovanni e la password che avevate digitato, e cliccando su ok, dovreste avere accesso alla directory /secure. Inserendo 3 o più volte un’accoppiata username/password volutamente errata, dovrebbe esservi impedito l’accesso, con un errore 401.

Conclusioni

Htaccess è uno dei metodi più popolari usato su server Apache perché è semplice e veloce da attivare e non richiede modifiche sostanziali ad Apache stesso.

Come scritto precedentemente, le informazioni però vengono inviate al server in formato testo. Questo potrebbe andare bene se proteggi un sito personale. Tuttavia, se cerchi una protezione per un sito aziendale, dovresti cercare metodi più avanzati.

Fonte: Forum Html.it

htaccess contro gli hotlink

Cosa vogliamo evitare?

  • che qualcuno arrivi, faccia un link nel proprio sito verso l’url della nostra foto (nel nostro spazio), e la faccia “comparire” nel suo sito
  • che qualcuno si “approfitti”, quindi, delle nostre foto pubblicate sul nostro sito
  • che qualcuno sprechi la banda dedicata al nostro server

Questa tecnica si chiama hotlinking. Non è corretta eticamente e provoca danni (più o meno seri) al sito in cui risiede la foto originale, primi fra tutti, appunto, copyright, danno d’immagine e sprechi di banda.

Continua la lettura di htaccess contro gli hotlink

Evitare il caricamento delle immagini da cache con htaccess

Abbiamo già visto in un altro articolo come sia fastidiosa la cache che non si aggiorna e come si possa risolvere col Php.

C’è anche un’altra soluzione, senza dover toccare i file in Php che danno vita al sito. Il ri-caricamento di immagini (o altri file) si può forzare inserendo nel file .htaccess alcune righe. Una cosa molto utile dei file .htaccess è che possono con facilità essere inseriti in qualsiasi directory, forzando il caricamento dei soli contenuti di questa, mentre il resto del sito può continuare a funzionare come ha sempre fatto col solito sistema di cache.

Continua la lettura di Evitare il caricamento delle immagini da cache con htaccess

Evitare url doppi tramite mod_rewrite e .htaccess

Per riprendere l’articolo precedente sul Redirect 301 (spostare un sito senza perdere l’indicizzazione) si può dire anche che esistono altri modi per utilizzare un reindirizzamento tramite il solito file .htaccess. E’ necessario stavolta l’uso (il caricamento) del modulo mod_rewrite che serve per la riscrittura degli URL.

Come si diceva… il mod rewrite è un modulo di Apache che permette la totale riscrittura degli indirizzi (url). Di solito si usa per rendere gli indirizzi dinamici (es: www.miosito.it/index.php?page=notizie&id=355) più leggibili sia dall’uomo che da un motore di ricerca (es: www.miosito.it/notizie/69.html)

Di seguito si può vedere un esempio…

Continua la lettura di Evitare url doppi tramite mod_rewrite e .htaccess

Reindirizzare un sito tramite file .htaccess con Redirect 301

Se voglio spostare il mio sito da un vecchio indirizzo ad uno nuovo e riprogettarlo, modificarlo, migliorarlo … mi trovo davanti anche il problema dell’indicizzazione … presente nel vecchio dominio ma non nel nuovo! Ovviamente non si può/deve perdere l’indicizzazione.
Ci viene incontro l’utilizzo del Redirect 301 che si usa lato server, appunto, per reindirizzare il sito.

Il redirect 301 è mooolto più sicuro rispetto all’uso dei meta-refresh.

Spostare in modo permanente la direttiva in HTTP indica agli spider che la pagina che viene scansionata è stata definitivamente trasferita in un nuovo URL.

Dovranno passare dalle 6 alle 8 settimane (di media) prima che il vecchio sito venga rimosso e il nuovo sito venga indicizzato. Nel frattempo si avranno continue fluttuazioni nelle SERP fino a quando la situazione e il posizionamento si stabilizzerà.

Ma vediamo come si usa questo reindirizzamento permanente (301 Redirect):

Continua la lettura di Reindirizzare un sito tramite file .htaccess con Redirect 301

Vedere file nascosti su Mac Osx

Spesso, quando andiamo a creare siti, capita di dover fare lavoretti sugli indirizzi (url) dei link. Siccome è necessario usare il mod_rewrite di Apache è una conseguenza abbastanza logica dover usare i file .htaccess per configurare i corretti comportamenti.

Messaggio errore finder file di sistema 

E qui ti volevo!!

Il sistema operativo della Apple, l’Osx (nel mio caso uso la versione 10.5.4 Leopard), altro non è che un file system unix (leggermente modificato) e quindi utilizza le medesime regole.

Quindi, per tornare alla pratica, il Finder nasconde i file nascosti (mi si passi il gioco di parole)  perchè sono di sistema e inoltre non ti permette di gestirli o di crearli.

Continua la lettura di Vedere file nascosti su Mac Osx