Snippet : Protéger un dossier avec authentification, sauf pour une IP
Voici un snippet que j’ai eu du mal à trouver au complet, servant à protéger l’accès à un dossier sous Apache avec un fichier .htaccess et un fichier .htpasswd, sauf pour une IP qui sera authentifiée automatiquement.
Pratique pour une preprod de site web, par exemple.
Order deny,allowDeny from all# Le chemin complet du fichier htaccessAuthUserFile /var/www/projet/.htpasswd# Le nom qui s'affichera pour les visiteursAuthName "Preprod Projet Internet"AuthType BasicRequire valid-user# Votre IP iciAllow from 8.8.8.8Satisfy Any
Si comme moi vous passez derrière un reverse proxy comme Nginx, l’IP n’est pas transmise directement. Il faudra alors tricher en rajoutant quelques lignes :
# Votre IP iciSetEnvIF X-Forwarded-For "8.8.8.8" AllowIPOrder deny,allowDeny from allAuthUserFile /var/www/projet/.htpasswdAuthName "Preprod Projet Internet"AuthType BasicRequire valid-user# La ligne permettant de récuperer l'IP transmiseAllow from env=AllowIP# Votre IP ici, au cas où vous avez un accès via ApacheAllow from 8.8.8.8Satisfy Any
Les sources qui m’ont le plus aidé : Ask Apache & freistil Help Center
Pas mal pour protéger et autoriser certains user à des admins (genre dans wordpress pour l’accés administrateur) ^^
excellente outil pour protéger les dossiers admin. Mais si on se déplace beaucoup il faut penser a configurer plusieurs adresses IP