Jeudi 11 Mars 2010

Fichiers .htaccess

Un article de Aide Hebergeur.

Sommaire

Protéger un répertoire par mot de passe

L'une des utilités des fichiers .htaccess est de protéger l'accès à un dossier en demandant à l'utilisateur de saisir un identifiant et un mot de passe.

Suivre un bon tutorial

Nos serveurs supportent l'édition des fichiers .htaccess ; il est par conséquent possible d'utiliser toutes les fonctionnalités offertes par ces fichiers, notamment la protection d'un dossier par login/pass.

Pour cela, nous vous invitons à suivre l'excellent tutorial de commentcamarche.net : http://www.commentcamarche.net/apache/apacht.php3

Ce tutorial vous explique comment créer le fichier .htaccess ainsi que son homologue .htpasswd où sont stockés les couples login/pass.

Connaitre votre chemin absolu

Pour appliquer ce tutorial, vous avez simplement besoin de connaitre le chemin absolu de votre hébergement. Ce dernier est affiché partie Hébergement Mutualisé, Accès FTP de votre Espace Client.

Attention : vous avez sans doute placé vos pages dans le dossier www de votre hébergement. Par conséquent il faut mentionner www dans le chemin absolu.

Exemple concret :

Supposons que vous souhaitiez protéger le dossier admin qui se situe dans votre www.
Alors le chemin de votre fichier .htpasswd sera : /web/votresite/www/admin/.htpasswd

Erreurs fréquentes

  • Ne pas oublier de crypter les mots de passe comme indiqué sur le tutorial : le cryptage n'est pas facultatif, cela ne fonctionnera pas si les mots de passe sont en clair
  • Bien nommer les fichiers .htaccess et .htpasswd : tout en minuscules, avec un point devant, et sans extension (pas de .txt)
  • Créer ces fichiers avec le bloc-notes : ne pas utiliser d'éditeur de texte comme Word, Wordpress, etc.

Astuce & Sécurité

Crypter les mots de passe permet théoriquement de protéger ceux-ci au cas ou votre fichier .htpasswd serait récupéré. Cela étant, rien n'est infaillible et une personne mal intentionnée ayant réussi à récupérer ce fichier saura probablement le décrypter également en prenant le temps de le faire. Il peut donc s'avérer utile de placer ce fichier à un endroit inaccessible de votre hébergement.

Par défaut, seul le dossier /www est accessible depuis le web, il suffit alors de placer votre fichier .htpasswd à la racine de votre hébergement et d'adapter ainsi le chemin contenu dans votre fichier .htaccess pour que la protection fonctionne tout en ayant protéger l'accès à votre fichier .htpasswd

Vous aurez ainsi votre fichier .htpasswd directement à la racine de votre hébergement et le chemin vers ce fichier sera : /web/votresite/.htpasswd


Effectuer une redirection

Les fichiers .htaccess permettent de créer des redirections d'URL afin de rediriger l'internaute vers une page différente.

Par exemple, imaginons que vous avez 2 sites Web : titi.com et toto.com et vous voulez que tous les internautes qui tapent www.titi.com soient redirigés vers www.toto.com

Pour cela, vous devez créer un fichier .htaccess contenant :

RewriteEngine on
RewriteRule .* http://www.toto.com [R=301]

Attention, il est important que les 2 sites soient bien reliés à 2 hébergements distincts, ou à défaut, à 2 dossiers distincts au sein du même hébergement. Si les 2 sites pointent vers le même dossier du même hébergement, alors vous allez créer une boucle infinie !