Outils pour utilisateurs

Outils du site


free:dir_protect

Protéger un répertoire chez Free.fr

Free restreint le contrôle de l'utilisatrice sur les droits des répertoires. Ils sont systématiquement lisibles par toute internaute.

  • Il faut donc impérativement protéger les fichiers de configuation des sites.
  • On peut vouloir protéger sélectivement certains répertoires

Protéger les fichiers de configuration

Le fichiers de configuration contiennent des informations critiques telles que login, mot de passe, nom de base de données, etc.

Pour les protéger on interdit à tous les internautes l'accès en lecture au dossier contenant ces fichiers. Pour ce faire, on crée un fichier texte dénomé “.htaccess” (sans les guillemets et commençant bien par un point) que l'on place dans le répertoire contenant les fichiers à protéger. Ce fichier doit contenir une simple ligne de texte :

deny from all

Et c'est tout ! ;-)

On peut appliquer cette technique d'interdiction intégrale (deny from all signifie interdire à touTEs) à d'autre répertoires (tous, si l'on veut). Lorsqu'on utilise un CMS (Drupal, Spip, DotClear..) les données restent accessibles aux utilisatrices autorisées par le CMS)

Laisser l'accès à certaines utilisatrices

On peut aussi vouloir laisser un accès direct (sans passer par un CMS) à certaines utilisatrices.

Dans ce cas, on commence par créer, à la racine de site, un répertoire qui contiendra les logins et les mots de passe des personnes autorisées. S'il n'y a pas de conflit avec les répertoires existants, appelons ce répertoire “controle”.

Dans le répertoire controle, on crée un fichier nommé “amies”. Ce fichier contiendra les logins et mots de passes, au format suivant :

login1:mdp1
login2:mdp2

La syntaxe du fichier amies est donc simple :

  • un couple login, mot de passe par ligne
  • le login est séparé du mot passe par “:”, sans espace avant ni après
  • les mots de passes sont “en clair”, non chiffrés

Vu son contenu, le fichier amies doit être protégé. On le fera avec la technique de protection intégrale vue précédemment. On ajoute donc au répertoire controle, un fichier .htaccess contenant la ligne “deny from all”. On se retrouve donc avec l'organisation suivante :

racine du site
   controle
      .htaccess
      amies

N'oublions pas que nous voulons protéger sélectivement un ou plusieurs dossiers. Pour l'explication, supposons que ce dossier s'appelle “photos_amies” et qu'il se trouve à la racine du site. Dans photos_amies on crée un fichier .htaccess, plus compliqué que celui que l'on a vu jusqu'ici. Il contiendra les quatre lignes suivantes :

PerlSetVar AuthFile /controle/amies
 AuthName "Identification nécessaire"
 AuthType Basic
 require valid-user

Examinons ce qu'il contient :

  • la première ligne indique le chemin, depuis la racine du site, conduisant au fichier des logins et mots de passe protégeant le répertoire contenant ce fichier .htaccess,
  • la deuxième ligne indique, entre quotes, le texte qui sera affiché à l'internaute qui tentera d'accéder au répertoire,
  • les troisième et quatrième lignes indiquent le type de verification à effectuer ; on n'y touche pas.

L'organisation des répertoires est la suivante :

racine du site
   controle
      .htaccess
      amies
   photos_amies
      .htaccess
      photo1
      photo 2

Sophistiquer le contrôle d'accès

Comme le suggère l'exemple, on peut être conduite à créer plusieurs fichiers de mots de passe (amies, collègues, parents..), correspondant à différents groupes d'utilisatrices. Tous ces fichiers seront rangés dans controle. Chaque répertoire protégé contiendra une version adaptée de .htaccess où sera indiqué le chemin vers le fichier de mots de passe protégeant ce repertoire.

On peut également remplacer tous les fichiers .htaccess du type “deny from all” par des fichiers d'accès sélectif. Ce n'est pas toujours un mieux. Dans les exemples présentés où nous avons choisi une protection intégrale, notre choix était justifié ; ce n'était pas qu'une simplification pédagogique.

free/dir_protect.txt · Dernière modification : 2010/02/04 13:58 de 127.0.0.1