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,allow Deny from all # Le chemin complet du fichier htaccess AuthUserFile /var/www/projet/.htpasswd # Le nom qui s'affichera pour les visiteurs AuthName "Preprod Projet Internet" AuthType Basic Require valid-user # Votre IP ici Allow from 8.8.8.8 Satisfy 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 ici SetEnvIF X-Forwarded-For "8.8.8.8" AllowIP Order deny,allow Deny from all AuthUserFile /var/www/projet/.htpasswd AuthName "Preprod Projet Internet" AuthType Basic Require valid-user # La ligne permettant de récuperer l'IP transmise Allow from env=AllowIP # Votre IP ici, au cas où vous avez un accès via Apache Allow from 8.8.8.8 Satisfy 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