protéger un site de développement

Astuce pour protéger un site de développement

Méthode pour le référencement - https://thierrylaval.dev

Il est parfois nécessaire de protéger un site de développement, l’accès à une page, à un répertoire sur un serveur web afin d’éviter que n’importe qui puisse y accéder.

Il y a différentes méthodes, ont peut avoir recourt à des langages comme le PHP, ASP, PERL …), mais la méthode la plus simple est d’utiliser le mécanisme de protection du serveur apache.

Tarifs Prestashop

Protégez un site de développement par un mot de passe avec .htaccess en 2 étapes

Il est parfois nécessaire de verrouiller l’accès à certaines pages de notre site ou à un site complet. Pour cela, rien de plus simple que d’ajouter un fichier .htaccess.

Il faudra donc créer deux fichiers à la racine de votre site ou du dossier à protéger.

  • .htaccess : Ce fichier contiendra l’adresse du .htpasswd
  • .htpasswd : Ce fichier contiendra la liste de logins/mots de passe des utilisateurs autorisés à accéder à votre site ou votre page

1. Créer le fichier .htaccess

Créez un fichier  .htaccess à la racine du site ou du dossier que vous souhaitez protéger. Ajouter le contenu suivant.

AuthName "Page d'administration protégée"
AuthType Basic
AuthUserFile "/home/site/www/admin/.htpasswd"
Require valid-user

Parmi ces quatre lignes, il y en a deux à modifier :

  • **AuthName** : Correspond à la phrase qui sera affichée pour inviter l’utilisateur à se connecter.
  • **AuthUserFile** : C’est le chemin absolu vers le fichier .htpasswd (que vous mettrez dans le même répertoire que le .htaccess).

💡 Trouver le chemin relatif

  1. Créez un fichier appelé chemin.php
  2. Inscrivez cette ligne de code à l’intérieur du fichier :

<?php echo realpath('chemin.php'); ?>

  1. Envoyez ce fichier sur votre serveur avec votre logiciel FTP, et placez-le dans le dossier que vous voulez protéger.
  2. Ouvrez votre navigateur et allez voir ce fichier PHP. Il vous donne le chemin absolu.

Par exemple, dans ce cas : /home/site/www/admin/chemin.php

  1. Copiez ce chemin dans votre .htaccess, et remplacez le chemin.php par .htpasswd.

Par exemple : /home/site/www/admin/.htpasswd

  1. Une fois le chemin relatif trouvé, supprimez le fichier chemin.php de votre serveur.

2. Créer le fichier .htpasswd

Créez maintenant le fichier  .htpasswd . Il va contenir la liste des personnes autorisées à accéder aux pages du dossier.

On y inscrit une personne par ligne, sous cette forme :

login:mot_de_passe_crypté

Au final, votre fichier .htpasswd devrait ressembler à ceci :

thierry:$1$/lgP8dYa$sQNXcCP47KhP1sneRIZoO0
pim:$1$lT7nqnsg$cVtoPfe0IgrjES7Ushmoy.
pam:$1$h4oVHp3O$X7Ejpn.uuOhJRkT3qnw3i0

Développement et maintenance

Si vous ne pouvez pas faire votre boutique vous même, que vous avez des besoins précis comme intégrer une charte graphique sur mesure ou encore, développer un module sur mesure, il faut faire appelle à un spécialiste PrestaShop.

Quelques explications :

AuthUserFile : c’est le nom et le chemin d’accès du fichier qui contiendra les noms des utilisateurs et les mots de passe associés. Ce chemin doit partir de la racine du site.

Ici, les mots de passe seront dans /home/login/admin/.htpasswd.

On peut, et il est même conseillé de choisir un autre nom que .htpasswd pour le fichier qui contiendra le couple utilisateur/mot de passe.
Le point précédent le nom de fichier permettra de cacher (au sens Unix /linux du terme).
Il est également recommandé de mettre le fichier des mots de passe en dehors de l’arborescence du site si l’on en a la possibilité.

AuthGroupFile : permet de définir un droit d’accès à un groupe d’utilisateur.
Cette solution n’est que rarement utilisée pour un site Web.
Le reste du temps il pointe vers /dev/null. Il faut que cette ligne soit présente.

AuthName : c’est le texte qui apparaîtra dans la fenêtre demandant le mot de passe.

AuthType : L’authentification est en général « basic ». Les mots de passe sont alors envoyés en clair sur le réseau.

Pour sécuriser davantage l’accès, on peut utiliser la méthode d’authentification « digest » qui crypte les mots de passe en MD5 . Ce système n’est supporté que par certains navigateurs.

Limit : C’est ici qu’on va indiquer ce qui est autorisé et interdit dans le répertoire.
Les commandes GET et POST indiquent la récupération de pages web et la réponse à certains formulaires. POST est utilisé pour autoriser l’upload de fichiers sous le protocole http

Require valid-user : accepte tous les utilisateurs qui ont un login : mot de passe dans .htpasswd.

Require herve jacques : limite l’accès à un ou plusieurs utilisateurs précis, ici herve et jacques. A noter que les utilisateurs sont séparés par des espaces.

protéger un site de développement protéger un site de développement protéger un site de développement protéger un site de développement protéger un site de développement protéger un site de développement protéger un site de développement protéger un site de développement protéger un site de développement protéger un site de développement protéger un site de développement protéger un site de développement