Apache: Schützen Sie den Inhalt eines Verzeichnisses
Vorsicht
Dieser Artikel wurde mehr als vor einem Jahr veröffentlicht, Es gab Entwicklungen können.
Bitte berücksichtigen Sie dies.
Heute sehen wir ein ziemlich einfaches System zum Einschränken des Zugriffs auf ein bestimmtes Verzeichnis, das auf einem Apache-Webserver verfügbar ist, sodass wir zur Eingabe von Anmeldeinformationen aufgefordert werden.
Nehmen wir an, wir haben es auf dem Webserver verfügbar, zusätzlich zur Hauptseite, una o più directory complementari, il cui contenuto debba essere inibito all’utente abituale e reso disponibile solo a chi detiene le credenziali.
/ |-> index.html |-> style.css |-> WordPress |-> protected_files
Nell’esempio qui sopra abbiamo, oltre ai file index und Stil le directory wordpress
und protected_files
. La prima conterrà tutti i contenuti del sito, la seconda conterrà i file che vogliamo nascondere dalla navigazione pubblica, proteggendoli con una password.
Per impostare una password su Apache sarà sufficiente creare i file .htaccess
und .htpasswd
all’interno della directory protected_files
. All’interno di .htaccess
inseriremo le righe seguenti:
AuthType Basic
AuthName "AREA RIVERVATA"
AuthUserFile /web/htdocs/www.sito.it/home/protected_files/.htpasswd
Require valid-user
Prestare attenzione a specificare il percorso corretto interno al server, non l’indirizzo raggiungibile dall’esterno.
Die Datei .htpasswd
conterrà lo username e la password (della password verrà salvato solo l’hash). Per generare l’hash esistono svariati siti online, oppure il comando htpasswd dal pacchetto apache-utils (presumibilmente già installato). Per generare il contenuto di .htpasswd
lanciare il seguente comando da terminale:
htpasswd -nbBC 10 pippo pluto
-b
tratta secondo argomento come password (pluto)-n
mostra la password come risposta stdout (non la salva in un file)-B
usa la funzione hashing “bcrypt”-C 10
imposta il costo di bcrypt a 10 (tecnicamente specifica un conteggio iterativo di espansione della chiave in una potenza di due)
In questo esempio creeremo le credenziali con utente “Foo” e password “pluto“. L’output sarà il seguente:
Foo:$2y$10$Vr456iXtzafSd21bK8ZTguSTLRcaBFoOMUgA1ZwLJRuFQFf.6QQCW
Incolliamo l’output così com’è nel file .htpasswd
, carichiamo entrambi i file nella directory “protected_files” e ricarichiamo la pagina.

0 Kommentare