|
|
|
|
|
Pour permettre qu'une page soit vue par ceux auxquels elle est destinée mais empêcher quelle soit vue par n'importe qui il existe différentes solutions de contrôle d'accès des pages web.(Voir la page "Contrôler la diffusion de ses publications sur le web)
Nous discuterons ici une solution basée sur de petits fichiers déposés sur le serveur et nommés .htaccess
Lorsqu'on travaille avec un serveur Apache (Cas très fréquent pour les serveurs sérieux sur le web ( Unix, Linux, OSX, etc.) la présence d'un fichier particulier nommé .htaccess indique au serveur que les fichiers dece dossier et toous les sous-dossiers ne doivent pas être diffusés tout à fait librement.
La vérification se fait sur la base d'une identification / mot de passe ou selon le n° IP de la machine qui demande les pages.
1° Pour protéger des pages web, il faut créer un fichier .htaccess et le déposer dans le dossier à protéger
2° .Pour une protection par mot de passe, il faut en outre créer un fichier .htpasswd qui stocke tous les utilisateurs et leur mot de passe (encrypté).
Important : La restriction d'accès s'applique à l'ensemble du répertoire dans lequel est le .htaccess, pas à un certain fichier ou document HTML. Donc les documents à être protéger doivent être rassemblés dans des répertoires séparés de ceux qui sont d'accès sans restriction. Un fichier '.htaccess' doit être créé dans le répertoire que l'utilisateur veut protéger. (Plusieurs répertoires peuvent avoir des fichiers '.htaccess' différents, mais il ne peut y avoir qu'un seul fichier '.htaccess' par répertoire. Les restrictions d'accès définies par un fichier .htaccess s'étendent à tous les sous-dossiers. |
Dans un simple éditeur de texte, (BBedit, notepad, etc) entrer les informations ci-dessous à droite :
|
Le fichier .htaccess
|
Les permissions d'accès Unix pour le fichier de ".htaccess " doivent autoriser la lecture pour le propriétaire, le groupe, et les autres. Ceci est éffectué en exécutant la commande suivante dans le répertoire où se trouve le fichier .htaccess :
unix:~/protected 4) chmod 644 .htaccess |
|
Exemples de directives
|
Autoriser un seul domaine à accéder à un ensemble de fichiers Cet exemple autorise uniquement les gens de l'université de Genève (.unige.ch) à visionner les fichiers qui débutent par les lettres "restreint". |
Le .htaccess contient
|
Autoriser deux domaines ou un utilisateur hors domaines-autorisés à accéder à un répertoire S'il y a à la fois les directives "allow" et "require" dans un même fichier, le serveur a besoin de savoir si le client est supposé remplir toutes les conditions ou bien une seule. Avec le paramètre "any" (au lieu de "all" par défaut) il faut remplir une seul des conditions. Contrôle par mot de passe: si l'on n'accède pas depuis un des domaines précédents il faut fournir un mot de passe |
Le .htaccess contient
|
Autoriser un ou plusieurs utilisateurs (via l'adresse IP) à accéder à un répertoire En spécifiant l'adresse IP d'une machine, seule cette machine pourra entrer dans la zone protégée sans mot de passe. On peut ajouter autant d'adresse que l'on désire. Avec cette méthode, on peut égalment protéger l'accès à un répertoire à un groupe de machine ou un domaine suivant la précision de l'adresse IP (129.194 ou 129.194.34). |
Le .htaccess contient
|
Ce fichier contient le nom des utilisateurs autorisés à accéder à la zone protégée, ainsi que leur mot de passe encrypté.
Pour le créer, il faut ouvrir un terminal et se rendre dans le répertoire courant indiqué dans la ligne AuthUserFile du .htaccess (ici /export/home/deiaco/passwd/).
Taper la commande htpasswd -c .htpasswd utilisateur pour créer le fichier et ajouter un premier utilisateur. Le programme va alors vous demander de saisir un mot de passe, puis le vérifier en le demandant à nouveau. Vous ne verrez pas ce mot de passe lors de sa saisie.
unix:~/passwd 4) htpasswd -c .htpasswd elia |
Pour ensuite ajouter plus d'utilisateurs, utiliser exactement le même commande mais sans l'option -c.
Pour effacer des utilisateurs, éditer le fichier avec un éditeur de texte et effacer les lignes correspondantes.
Remarque: Les mots de passe sont immédiatement stockés sous forme encryptée... Il est impossible de deviner le mot de passe à partir de la forme encryptée. Il est par ailleurs déconseillé de stocker les fichiers de mots de passe dans un répertoire web où il pourrait être téléchargé.
L'écriture des fichiers de contrôle .htaccess
Utilisation de la restriction d'accès aux pages Web
Comprehensive guide to .htaccess
How to make a file for authentication from an apache server