Come proteggere con password un sito Web Apache utilizzando .htaccess
Passaggio 1: configura il tuo file .htaccess
Tutto il lavoro sarà fatto usando il tuo file .htaccess. È possibile trovare questo file alla radice della maggior parte dei siti Web Apache.
Lo screenshot è stato preso da un'installazione vanilla di WordPress in esecuzione su Windows 2003 Server:
Il file .htaccess viene controllato da Apache prima di visualizzare le pagine web. In genere viene utilizzato per ReWrite o ReDirect, tuttavia è possibile utilizzarlo anche per sfruttare le funzionalità di sicurezza integrate di Apache.
Quindi, il primo passo è aggiungere alcuni parametri al file. Di seguito è riportato un esempio di file .htaccess. (SUGGERIMENTO: uso notepad ++ per modificare la maggior parte dei file PHP e correlati)
AuthUserFile c: apachesecurity.htpasswd AuthName "Immettere utente e PW" AuthType Basic richiede utente valido
Alcune spiegazioni:
AuthUserFile: APACHE ha bisogno del percorso del file User / Password. Basta inserire il percorso completo del file del database delle password come mostrato sopra. L'esempio sopra è preso dalla mia scatola di Windows. Se stai usando Linux, sarebbe qualcosa di simile: AuthUserFile /full/path/to/.htpasswd
AuthName: Questo campo definisce il titolo e il testo per la casella popup che richiederà il nome utente e la PW. Puoi fare tutto ciò che vuoi. Ecco un esempio sulla mia casella di prova:
AuthType: Questo campo indica ad Apache che tipo di Autenticazione viene utilizzata. In quasi tutti i casi, "Basic" va bene (e il più comune).
Richiedi utente valido: Quest'ultimo comando consente ad Apache di sapere a chi è permesso. Usando "valid-user“, stai dicendo ad Apache ANYONE che è autorizzato ad autenticarsi se hanno un nome utente e una password validi.
Se si preferisce essere più ESATTI, è possibile specificare un UTENTE o UTENTI specifici. Questo comando sarà simile a:
Richiedi utente mrgroove groovyguest
In questo caso, solo gli utenti mrgroove e groovyguest potrebbero entrare nella pagina / directory che stai proteggendo (dopo aver fornito il nome utente e la password corretti, ovviamente). A tutti gli altri utenti (inclusi quelli validi) verrà negato l'accesso. Se vuoi consentire più utenti, basta separarli con spazi.
Quindi, ora che abbiamo tutte le impostazioni di configurazione fatte, ecco come dovrebbe apparire il tuo file .htaccess finito:
Screenshot è preso da una finestra di Windows 2003 Server che esegue WordPress:
Passaggio 2: crea il file .htpasswd
La creazione del file .htpasswd è un processo semplice. Il file non è altro che un file di testo che contiene un elenco di utenti e le loro password crittografate. Ogni stringa utente deve essere separata sulla sua linea. Personalmente, uso semplicemente Notepad ++ o Blocco note di Windows per creare il file.
Il seguente esempio è un file .htpasswd di esempio con due utenti:
Sebbene Apache non "richieda" di crittografare le password, è un processo semplice per entrambi i sistemi Windows e Linux.
finestre
Passare alla cartella Apache BIN (di solito si trova in C: \ Programmi \ Apache Group \ Apache2bin) ed eseguire lo strumento htpasswd.exe per generare una stringa Username / Password crittografata MD5. Puoi anche usare lo strumento per creare il file .htpasswd per te (qualunque cosa funzioni ...). Per tutti i dettagli, basta eseguire il passaggio di aiuto dalla riga di comando (htpasswd.exe /?).
In quasi tutti i casi, tuttavia, basta eseguire il seguente comando:
htpasswd -nb username password
Una volta eseguito il comando, lo strumento htpasswd.exe genererà la stringa User con la sua password crittografata.
La schermata seguente è un esempio di esecuzione dello strumento htpasswd.exe su Windows 2003 Server
Una volta che hai lo User String, copialo nel tuo file .htpasswd.
Linux:
Goto: http://railpix.railfan.net/pwdonly.html per creare le stringhe dell'utente con password crittografate. Processo molto semplice.
Passaggio 3: verifica che Apache sia configurato correttamente * facoltativo
Per impostazione predefinita, Apache ha i moduli corretti abilitati. Detto questo, non fa mai male essere un po 'proattivo, in più è un veloce "assegno".
Apri il tuo file httpd.conf Apache e verifica che il modulo AUTH sia abilitato:
Se trovi che il modulo non è abilitato, correggilo come mostrato sopra. Non dimenticare; è necessario riavviare Apache affinché le modifiche a httpd.conf abbiano effetto.
Questo dovrebbe prendersene cura. Tutto fatto.
tag: apache, crittografia, htaccess, sicurezza, windows