htaccess

Vous pouvez vous servir d'un fichier .htaccess pour modifier le comportement du serveur web pour le répertoire dans lequel il se trouve (ainsi que tous ses sous-répertoires).

Protéger un répertoire avec un mot de passe

Il est possible de protéger l'accès à un répertoire Web avec un mot de passe. Prenons un usager <nom-d'usager> dont le répertoire web est <dossier-web> et le sous-répertoire à protéger est <sous-dossier>. Ce répertoire sera autorisé en lecture pour quelqu'un fournissant le nom <identifiant> et le mot de passe <mdp>, contenus dans le fichier <.fichier-mdp>. Voici alors la procédure pour créer ce fichier.

Ensuite, on ajoute un fichier .htaccess contenant les règles d'authentification dans le répertoire à protéger.

AuthUserFile /u/<nom-d'usager>/<.fichier-mdp>
AuthName <ce-qu'on-veut-voir-apparaître-dans-l'invite-d'authentification>
AuthType Basic
Require valid-user

Attention: le chemin /u/<nom-d'usager> du .htaccess est interprété sur le serveur web et n'a de sens que dans ce contexte. Sur arcade, vous ne trouverez pas le fichier <.fichier-mdp> dans /u/<nom-d'usager>/ mais bien dans /home/www-ens/<nom-d'usager>/.

Note: Ne pas oublier d'ajuster les permissions de lecture de tous les répertoires et fichiers créés.

Exemple :

cd /home/www-ens/alice
htpasswd -n bob

On entre deux fois le mot de passe voulu. Le résultat est

bob:nhMKTi4awTWbk

qu'on ajoute au fichier .htpasswd

echo "bob:nhMKTi4awTWbk" >> .htpasswd

On se déplace dans le répertoire à protéger

cd public_html
mkdir -p secrets
cd secrets
vi .htaccess

et on met dans le .htaccess ces lignes

AuthUserFile /u/alice/.htpasswd
AuthName "Zone de secrets"
AuthType Basic
Require valid-user