FAQ Questions Générales

Créer un accès restreint

Avant de commencer :

Cette FAQ a pour but de vous apprendre à protéger par mot de passe l'accès à un répertoire.

Tout d'abord, sachez que si vous étiez auparavant hébergé chez Free.fr et que vous aviez déjà mis en place une procédure d'accès restreint en suivant la documentation de Free, cet accès restreint ne fonctionnera pas sur NFrance (en fait, il ne fonctionnera que chez Free.fr car ils utilisent une procédure non standard)

Ensuite, si vous étiez auparavant hébergé chez un hébergeur utilisant une procédure Apache standard (par .htaccess) et que vous aviez déjà mis en place une procédure d'accès restreint, vous n'aurez certainement qu'à modifer les chemins dans le .htaccess et ça devrait fonctionner.

Avant de commencer, vous devez connaître le chemin de la racine de votre compte (cela ressemble à /home/juXXXXX). Pour cela, il vous suffit de créer un fichier avec l'extension .php (par exemple, racine.php) et de le transférer sur votre compte puis de l'appeller avec votre navigateur. Le fichier en question doit contenir :

<?php print($_SERVER["DOCUMENT_ROOT"]); ?>

Edit : pour les Web1, consultez votre chemin à la racine la commande suivante :

<?php print($_SERVER['PATH_TRANSLATED']); ?>

Il est également à noter que vous devrez créer tous les fichiers mentionnés dans cette FAQ avec un vrai editeur de texte et non pas un logiciel de traitement de texte. (sous Windows, utilisez le Bloc Notes ; sous MacOS X, TextEdit devrait faire l'affaire si vous arrivez à le forcer à enregister en texte simple et non pas en RTF ; sous Unix, je suppose que ce n'est pas la peine que je vous explique que vous avez le choix des moyens : kEdit, gEdit, vim, emacs, etc …)

Création du .htaccess :

Les règles régissant l'accès à votre répertoire seront stockées dans un fichier nommé .htaccess (note pour les utilisateurs de Windows : il est conseillé de nommer votre fichier toto.txt par exemple et de le renommer en .htaccess une fois sur le serveur FTP, ça vous évitera de devoir vous battre avec Windows car il ne voudra pas de ce nom).

Votre .htaccess doit au minimum contenir :

AuthUserFile /racine/nom_du_répertoire/.htpasswd
AuthName REALM
AuthType Basic
require valid-user

/racine est à remplacer par la racine déterminée précédement, nom_du_répertoire par le nom du répertoire où se situe le .htpasswd (que l'on créera ensuite, pour des raisons de simplicité, il vaut mieux que le .htpasswd soit situé dans le répertoire à protéger). REALM est l'étendue de validité de votre protection, à moins que vous n'ayez des besoins spécifiques (qui seront couverts à la fin de cette FAQ) choisissez juste un nom qui fera joli dans la boîte de dialogue du navigateur, genre Mon repertoire prive rien qu'a moi :-) (voir ci-dessous, l'exemple pris ici est MS Internet Explorer 6) (attention : éviter les caractères accentués, spéciaux … et si le REALM se compose de plusieurs mot, mettez le entre guillemets doubles, comme ceci “REALM en plusieurs mots”)

Création du .htpasswd :

La liste des utilisateurs et mots de passe est stockée dans un fichier nommé .htpasswd (pour les utilisateurs de Windows, même remarque, toto2.txt puis renommer sur le FTP), il se compose d'un couple nom d'utilisateur:mot de passe crypté par ligne, comme ceci :

utilisateur1:m0tD3p4ssCrYPt3
utilisateur2:P4S5W0Rd
utilisateur3:s3cR3t

Pour crypter vos mots de passe, utilisez notre outil disponible à http://faqs.les-basics-nfrance.com/crypt.php

Transfert:

Transférez les deux fichiers (attention : en mode ASCII) vers votre FTP. Si vous utilisez Windows, n'oubliez pas de renommer les fichiers (si vous avez gardé les mêmes noms que dans cette FAQ, renommez toto.txt en .htaccess et toto2.txt en .htpasswd). Ca y est ! Vous n'avez plus qu'à tester :-)

Au secours ! Ca ne marche pas !

  • Vérifiez bien les majuscules / minuscules
  • Dans la boîte de dialogue vous devez taper votre mot de passe réel, pas la version cryptée ;-)
  • Mettez bien le chemin complet du .htpasswd
  • Créer vos fichiers avec un éditeur de texte pur et pas un traitement de texte
  • Lorsque vous publiez vos fichiers, faites un transfert FTP en mode ASCII

J'ai des besoins plus complexes :

Je veux protéger plusieurs répertoires

Si vous désirez protéger plusieurs répertoires avec les mêmes mots de passe, copiez simplement le .htaccess dans chaque répertoire à protéger (par contre un seul .htpasswd suffit)

Si vous désirez utiliser des logins/pass différents en fonction des répertoires, vous avez plusieurs solutions, soit utiliser un .htaccess et un .htpasswd par répertoire soit utiliser le même .htpasswd pour tous les répertoire en y mettants tous les utilisateurs, puis dans le .htaccess de chaque répertoire, spécifier explicitement les utilsateurs autorisés, en remplaçant

require valid-user

par

require user utilsateur1 utilisateur3

dans chaque répertoire (bien entendu, dans chaque répertoire, adapter la liste).

A noter, que si vous utilisez le même REALM pour tous vos répertoires, le navigateur ne demandera pas à l'utilisateur de s'identifier si il à déjà accédé à l'un des répertoires avec des login/pass valides. Par contre, si vous utilisez des REALM différents, les utilisateurs devront se réidentifier séparément pour chaque répertoire.

J'ai des besoins encore plus complexes

Félicitations, vous avez gagné le droit d'aller lire la documentation (en Anglais) de Apache (le logiciel de serveur Web utilisé par NFrance) située à http://httpd.apache.org/docs/howto/auth.html ;-)

Note : seule la méthode nommée Basic authentication est disponible sur les Basics NFrance

 
generale/html/creer_un_acces_restreint.txt · Dernière modification: 2007/10/04 15:17 (édition externe)
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki