Protéger l'accès a un répertoire web

Un article de Assistance Oxyd.

Deux solutions s'offrent à vous :

1) Méthode "depuis l'extranet"

Dans la gestion de votre Pack hébergement, il faut aller dans le menu "Protection des répertoires".

- Il faut créer un utilisateur (ou des utilisateurs) dans ."Comptes". - Il faut indiquer le ou les répertoires a protéger sous forme 'domaine.tld/repertoire/' (exemple: monsite.com/dossier) - Ensuite il faut cliquer sur "Protection" puis associer un répertoire a un utilisateur. Pour choisir plusieurs utilisateurs vous devez faire 'ctrl + click' et choisir un a un les utilisateurs à autoriser.
La sécurisation crée un fichier dans le répertoire à sécuriser ( .htaccess ).
N'effacez pas ce fichier sinon le répertoire ne sera plus sécurisé.


2) Methode "htaccess"

Il s'git de créer un fichier .htaccess qui indiquera au serveur web ce qu'il faut protéger. Il protègera l'accès au répertoire dans lequel il se trouve ainsi que tout les sous répertoires.

Exemple de fichier .htaccess:

AuthUserFile /users/userXXXXXX/.htpasswd 
AuthName "Accès Protégé" 
AuthType Basic
<Limit GET POST>
Require valid-user
</Limit>

Dans la première du ligne du .htaccess on indique le fichier où se trouve la liste des utilisateurs ainsi que leur mot de passe, je vous conseille donc de placer ce fichier en dehors de votre site web (au dessus de exemple.com). On peut noter aussi que le chemin vers la racine de votre espace FTP est /user/userXXXXXX/ (userXXXXXX votre nom d'utilisateur)

Maintenant il faut créer le fichier .htpasswd, voici les différentes méthodes:

- Linux
Pour créer le fichier il faut exécuter la commande htpasswd :

~$ htpasswd -c .htpasswd username

Pour ajouter un nouvel utilisateur

~$ htpasswd .htpasswd username


Il faudra bien entendu indiqué le mot de passe dans le terminal, il existe d'autre options pour créer le fichier .htpasswd pour cela veuillez consulter le manuel de htpasswd ('man htpasswd').

- Windows
Vous pouvez utilisé des sites web pour générer les mot de passe crypté pour .htpasswd comme par exemple: http://aspirine.org/htpasswd.html