Après avoir créé votre site web, sécuriser une zone privée par mot de passe est crucial pour protéger vos données sensibles. Découvrez un tutoriel simple et efficace utilisant Apache, accessible même aux débutants.
Plusieurs méthodes existent pour protéger un site : développer un système personnalisé avec base de données, ou utiliser un CMS comme WordPress. Ici, nous nous concentrons sur la protection via votre serveur Apache, rapide et sans programmation.
Prérequis : un serveur Apache (courant chez les hébergeurs). Consultez notre guide sur l'hébergement web si besoin. Pour un environnement local, installez un stack WAMP (Windows) ou LAMP (Linux).

Apache, pilier des serveurs web, forme avec Linux, MySQL et PHP le célèbre stack LAMP. Sa variante Windows est WAMP. Pas besoin de base de données ici.
Le fichier .htaccess (hypertext access) configure Apache par répertoire. Notez le point initial : il est caché par défaut sur Windows (activez l'affichage des fichiers cachés).
Avantages clés :
Les erreurs par défaut sont basiques :

Avec .htaccess, rendez-les professionnelles et ajoutez bien d'autres fonctionnalités.
Activez-le dans httpd.conf : trouvez <Directory "/var/www/htdocs">, changez AllowOverride None en AllowOverride All, puis redémarrez Apache. Chez un hébergeur, utilisez le panneau de contrôle.
Créez .htaccess dans le répertoire à protéger :
AuthType Basic
AuthName "Zone protégée"
AuthUserFile /chemin/vers/.htpasswd
Require valid-userAuthName : message affiché à la connexion.
AuthUserFile : chemin vers .htpasswd (générez-le avec htpasswd -c .htpasswd user pour des mots de passe hachés sécurisés).
Format .htpasswd : user:$apr1$hachage$.
Placé à la racine, il protège tout le site ; sinon, un dossier spécifique.

Utilisez HTTPS, mots de passe forts et sécurisez le reste du site.
Autorisez une IP spécifique (ex. Raspberry Pi avec IP statique) sans mot de passe :
AuthType Basic
AuthName "Zone protégée"
AuthUserFile /chemin/vers/.htpasswd
Require valid-user
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Satisfy AnyRemplacez 127.0.0.1 par l'IP cible. Erreur si échec :

.htaccess est puissant mais peut ralentir si abusé. Privilégiez PHP pour les tâches complexes ; réservez-le aux besoins simples ou sans accès root.
Avez-vous testé ? Partagez vos astuces .htaccess en commentaires !
[]