Bacho's Design

The Online Maths School
🇺🇸 🇫🇷

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.

Retour au début de la page.

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.
Ce que vous devez/pouvez changer:
  • 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"
Comme windows n'aime pas trop les fichiers commençant par des points. Sauvegardez le resultat sous le nom "htaccess.txt" pour le moment et nous verrons plus tard ce qu'il faut faire pour le rendre utilisable. Passons maintenant à la préparation du fichier ".htpasswd".

Retour au début de la page.

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.
NB: Pour crypter plusieurs mot de passe en même temps, il suffit de répeter le code php dans la page autant de fois qu'il le faut en changement de mot de passe à chaque fois.

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/
NB: Vous avez la possiblité d'inclure autant de couple login/pass que vous le désiriez.
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!

Retour au début de la page.

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".
C'est fini!! Bravo.
Laissez votre commentaire
Fatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in /home/bachosdesign/public_html/files/_setup/pages/security_article.php:142 Stack trace: #0 /home/bachosdesign/public_html/files/_setup/pages/htaccess.php(115): include() #1 /home/bachosdesign/public_html/index.php(105): include('/home/bachosdes...') #2 {main} thrown in /home/bachosdesign/public_html/files/_setup/pages/security_article.php on line 142