Infocurci - programmatore Php Roma
Infocurci - programmatore Php Roma
Questo sito non lascia nessun cookie sul vostro pc, consuma pochissimi kb, non profila nulla e non raccoglie dati personali. Siete i benvenuti.

Php : Proteggere un sito con e senza htaccess

Come proteggere un sito da occhi indiscreti, ad esempio durante la fase di produzione e lavorazione. Illustriamo sia la classica soluzione basata su file .htaccess, tipica dei server Linux, sia una soluzione più artiginale ma spesso funzionale.

Php

La protezione di un server web, attraverso la classica maschera di richiesta autorizzazione, avviene agevolmente sui server Linux attraverso l'aggiunta in un file .htaccess delle seguenti istruzioni;:

AuthUserFile /var/www/public_html/.htpasswd
AuthGroupFile /dev/null
AuthName "Password Protected Area"
AuthType Basic

<limit GET POST>
require valid-user
</limit>

e la creazione di un file .htpasswd con la password criptata:

utente:utL6oIo5YW9MA

Tutto questo è facilmente realizzabile attraverso appositi tool online facilmente reperibili come "htaccess generator".

Se non abbiamo a disposizione un server Linux, possiamo ricorrere ad un'autenticazione php:

if (!isset($_SERVER['PHP_AUTH_USER'])  ||   ($_SERVER['PHP_AUTH_USER'] != 'utente' || $_SERVER['PHP_AUTH_PW'] != 'autorizzato')  ) {
    header('WWW-Authenticate: Basic realm="Autenticazione richiesta"');
    header('HTTP/1.0 401 Unauthorized');
    echo 'Inserire i dati di accesso';
    exit;
}

Questa soluzione non è certo il massimo della sicurezza, perché non protegge tutta la directory ma solo quel file, tuttavia non è da sottovalutare quando si ha a che fare con software come Joomla che fanno passare tutto da un unico file (index.php). Mettendo questo snippet nel file index.php (va bene anche nell'index del nostro template, cosi non intacchiamo il core del cms) possiamo proteggere il sito ed evitare che occhi indiscreti vadano a vedere il lavoro. Questo non impedisce l'accesso alle directory pubbliche (come quella delle immagini) ma è una soluzione "light" nel caso in cui non sia richiesta una sicurezza assoluta. Personalmente, la trovo una valida soluzione quando sto lavorando ad un progetto e non voglio che il google vada ad indicizzare il work in progress.