Accueil » Conseils & tutoriels sites internet » Tutos Prestashop » Verrouiller un back-office avec un htpasswd

Verrouiller un back-office avec un htpasswd

Un excellent moyen de verrouiller l’administration de son site – en plus d’un bon identifiant, d’un bon mot de passe et de plugins dédiés – est le verrouillage serveur via deux fichiers, nommés htaccess et htpasswd. Cela contraint à s’identifier deux fois pour la même interface, mais double en revanche la sécurité de votre site.

Cette méthode fonctionne sur des serveurs tournant sous Apache (non, pas l’indien), donc vérifiez bien que vous pouvez insérer ce genre de fichiers sur votre site (et si vous tournez sur Prestashop, WordPress, Drupal, et j’en passe, normalement il n’y a aucun souci à avoir).

Le fichier htaccess permet notamment d’interdire l’accès à des IP précises (lire mon article sur le ban via le htaccess). Chez OVH on peut même y déterminer la version de PHP grâce à SetEnv PHP_VER 5_4. Il s’agit d’un fichier ne portant pas de nom, seulement une extension.

Cela cause quelques soucis sur ordinateur, car Windows – pour ne citer que lui – interdit la création d’un fichier sans nom et avec une telle extension. Il vous faudra donc corriger cela directement sur votre ftp.

Le fichier htaccess permet également de booster la vitesse de chargement d’un site en ajoutant des informations spécifiques. La moindre erreur, et c’est tout le site que vous bloquez. Sauvegardez donc au préalable.

En trois étapes, voici comment faire :

1/ Génération du code d’accès crypté

generatehtpasswd

Il existe une foultitude de sites proposant de générer des htpasswd. Les premiers sur Google sont plutôt fiables. Servez-vous en pour générer le code à insérer dans le htpasswd, cela ressemble à ceci :

Privilégiez quand même des mots de passe complexes, car ce n’est pas parce que vous disposez d’un htpassword que votre site est totalement sécurisé.

2/ Insertion d’un htaccess 

Rendez-vous via le ftp dans le dossier admin (si vous êtes sur Prestashop).

Placez-y un fichier .htaccess et mettez-y le code suivant :

AuthUserFile /lien/vers/mon/fichier/nommé/.htpasswd

AuthGroupFile /dev/null AuthName « Restricted Access »

AuthType Basic require valid-user

Attention, le chemin vers votre fichier .htpasswd est dit « absolu », c’est-à-dire qu’il s’agit du lien réel (sans les http, etc.).

Sur OVH par exemple, c’est généralement /home/monID/etc. Vous pouvez retrouver le lien « canonique absolu » à l’aide de la fonction php realpath() (plus d’infos ici, sur php.net)

Une fois votre htaccess inséré dans votre dossier admin, placez à présent un fichier .htpasswd à l’emplacement que vous aviez précisé dans le htaccess (vous vous rappelez ? Le fameux /lien/vers/mon/fichier/nommé/.htpasswd). Collez-y le code que vous a donné le site générateur de htpasswd. Cela donne quelque chose du genre : MonIdentifiant:MonMotDePasseCrypté ou plutôt : tototititutu:C/VdBsRJJrDvo

3/ Enregistrement et test

Sauvegardez, et vous avez terminé. Si votre site affiche une magnifique erreur 500, c’est généralement dû à un mauvais lien canonique absolu. Vérifiez bien à l’aide de realpath() que tout est correct, que le fichier htaccess est correctement renseigné et le htpasswd au bon endroit.

Si tout va bien, vous devriez obtenir ceci :

Verrouiller un back-office avec un htpasswd 1

Sinon, pour répondre à la remarque d’un collègue et ami : oui, j’ai un souci avec les chinois sur internet !

Imprimer Imprimer

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.