Guide

File nascosti .htaccess e .htpasswd

A cosa servono e come modificarli

I file .htaccess e .htpasswd sono due file di testo caratteristici del sistema operativo Linux (server web Apache) ma presenti anche su server Windows, la cui funzione è quella di fornire direttive di configurazione del server web.
Normalmente, per motivi di sicurezza, non sono visibili (cioè sono file nascosti) e la loro visualizzazione va abilitata. Ad esempio, se si cerca di accedere a questi file usando un client FTP (es. FileZilla) per vederli sarà necessario abilitare il client FTP alla visualizzazione dei file nascosti.

Come creare o modificare .htaccess e .htpasswd

Per creare e modificare i file .htaccess e .htpasswd è sufficiente utilizzare un qualsiasi ​editor di testo​ (es: gedit su Linux, notepad su Windows), inserire il codice desiderato e salvare il documento.

IMPORTANTE I nomi di questi file devono essere scritti senza estensione e con un punto come primo carattere del nome. Quindi, preoccuparsi di verificare (ad es. tramite il programma di esplorazione cartelle e file) che il nome salvato con l'editor di testo sia esattamente .htaccess o .htpasswd, visto che alcuni editor in automatico aggiungono l'estensione .txt al nome del file.

Può succedere che gli utenti Windows non possano vedere le estensioni dei propri file consultandoli dal programma di esplorazione file e cartelle: in questo caso è necessario abilitarla, spuntando la casella estensioni nomi file visualizzata cliccando sul bottone Visualizza (immagine seguente)

esempio per utenti windows

Esempi di utilizzo

Di seguito alcuni consigli per utilizzare i file ​ .htaccess​ e ​ .htpasswd​.

  • Per fare in modo che l'accesso alla navigazione di un sito avvenga in automatico attraverso una pagina predefinita (nell'esempio, miahome.php), è necessario inserire nel file .htaccess la seguente riga:
    DirectoryIndex miahome.php
  • Per autorizzare l'accesso alle cartelle​ del sito solo ad utenti autorizzati, devono essere invece creati entrambi i file​ .htaccess e .htpasswd. Il file .htaccess va collocato nella cartella da proteggere e deve contenere le seguenti direttive:
    • AuthType Basic
    • AuthUserFile /percorso-htpasswd/.htpasswd
    • Require valid-user

    Da notare che la direttiva "AuthUserFile" deve riportare la cartella in cui risiede il file .htpasswd. Inoltre, il file .htpasswd deve riportare le coppie utente e password con password criptata nel seguente formato nomeutente:password-crypt, ad esempio

    pippo:fUOVQMStRIgoE
    topolino:RvWrHrHzrBNxI

    La criptazione della password va naturalmente compiuta prima della creazione del file .htpasswd.

    Nel sistema operativo Linux, il file .htpasswd può essere generato utilizzando il comando htpasswd del pacchetto Apache; in alternativa, ci si può affidare a specifici tool presenti online.

    Attenzione Se si usa il tipo di autenticazione Basic (AuthType Basic), è altamente consigliato il protocollo HTTPS, altrimenti la password viene trasferita in chiaro dal browser al server