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.
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 pageCré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
).<?php echo realpath('chemin.php'); ?>
Par exemple, dans ce cas : /home/site/www/admin/chemin.php
.htaccess
, et remplacez le chemin.php
par .htpasswd
.Par exemple : /home/site/www/admin/.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.
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
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie | Durée | Description |
---|---|---|
cookielawinfo-checkbox-analytics | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics". |
cookielawinfo-checkbox-functional | 11 months | The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional". |
cookielawinfo-checkbox-necessary | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary". |
cookielawinfo-checkbox-others | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other. |
cookielawinfo-checkbox-performance | 11 months | This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance". |
viewed_cookie_policy | 11 months | The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data. |