Proteger un dossier grâce à .htaccess
A quoi sert .htaccess? et comment l'utiliser? C'est ce que nous allons voir dans la suite, tout sera expliquer soigneusement pour que vous puissiez comprendre et utiliser ce cours sans peine!
Ce chapitre contient
1. Intoduction
Une personne qui veut gérer son site grace à une page contenu dans un certain dossier et qui veut que cette page ne soit accéssible que par les administrateurs a besoin de la sécuriser. Il peut s'agir d'une page contenant des mots de passe, ou d'une page depuis laquelle vous avez la possibilité de gérer la base de données et de modifier le contenu du site! Quoi qu'il en soit, vous aurez toujours besoin de protéger le contenu d'un répertoire d'une manière "sécurisée". Pour le faire suivez les étapes suivantes. Nous supposons que nous voulons protéger l'accès au dossier nommé "secret" et se trouvant å la racine du FTP.2. .htaccess
Commençons par créer le fichier ".htaccess".Ouvrez le bloc-notes, dans une page vide copier-coller le code suivant:
Code htaccess |
AuthUserFile "/**chemin**/secret/.htpasswd" AuthName "Accès réservé à l'administration" AuthType Basic Require valid-user |
- AuthUserFile: Définit le chemin d'accès au fichier contenant la liste des login/password nécéssaire pour l'authentification.
- AuthName: Indique le nom du schéma d'autorisation pour un répertoire. Il sera donné à l'utilisateur Pour l'inviter à utiliser son login et mot de passe afin d'être identifié. Vous pouvez changer ce shéma qui suite cette directive comme vous le voulez, mais attention si votre shéma contient des éspaces il faut qu'il soit délimité par des guillemets.
- AuthType: Séctionne le type d'authentification, nous ne pouvons utiliser pour le moment que les types Basic et Digest.
- Vous pouvez personaliser le ce shéma qui suit la directive AuthName comme vous le voulez, mais attention si votre shéma contient des éspaces il faut qu'il soit délimité par des guillemets.
- La seule chose "un peu technique" de ce cours est de connaitre le vrai chemin (path) å utiliser dans la directive
AuthUserFile, si vous ne le connaissez pas ne vous inquiétez pas, voila ce qu'il faut faire:
- Supposons que le dossier "secret" contient le fichier "fichierpass.php". Créez un fichier s'appelant "path.php" par exemple, dont le contenu est
<? echo realpath("fichierpass.php"); ?>. Placer le dans le dossier "secret" et lancer depuis votre navigateur le fichier path.php. Vous verrez le path s'affichier, supposons que le résultat est le suivant:/homez.220/bachosdesign/www/secret/fichierpass.php Copiez le, sans le fichier final, et collez le devant la directive AuthUserFile. Dans notre exemple ce qu'il faut changer c'est:AuthUserFile "/homez.220/bachosdesign/www/secret/.htpasswd"
- Supposons que le dossier "secret" contient le fichier "fichierpass.php". Créez un fichier s'appelant "path.php" par exemple, dont le contenu est
3. .htpasswd
Ce fichier contiendra les couples login/mot de passe. Pour une meilleure sécurité il vaut mieu crypter les mots de passes afin d'éviter, par un moyen ou par un autre, de se faire pirater. Si vous ne savez pas comment faire le codage, PHP le faira pour vous:- Choisissez un mot de passe, exemple "passe123securise"
- Créez un fichier "cryptage.php" contenant uniquement le code php <?php echo crypt('passe123securise'); ?>
- Placez le, grace a FTP, quelque part dans votre site et lancez le. Vous obtiendrez le mot de passe crypté. Pour notre exemple cela donne:
$1$ytLjVemP$uXKnpkk1j5e.3swFT7Nya1. Notez qu'a chaque mot de passe correspond plusieurs codés, d'où le changement de résultat à chaque raffraichissement de page.
Ouvrez maintenant une nouvelle page dans le bloc-notes et remplissez les login et passe, par exemple:
Code htpasswd |
bachir:$1$ytLjVemP$uXKnpkk1j5e.3swFT7Nya1 jean:$1$Pc0lCHBk$khd57uWq7IybmFFdd8Rlk/ |
Sauvegardez le resultat sous le nom "htpasswd.txt" pour le moment et nous verrons dans la section finale ce qu'il faut faire pour le rendre utilisable.
Attention: Les utilisateurs de free ne doivent pas crypter les mots de passe, c'est free et c'est comme ça!
4. Exemple d'utilisation complet
Le plus gros travail étant déjà fait, passons à l'application:- Uploadez les fichier "htaccess.txt" et "htpasswd.txt" dans le dossier "secret".
- Renommez les dans le FTP en ".htaccess" et ".htpasswd".