Je souhaitais restreindre l'accès à un fichier hébergé sur mon site (poinsot.info donc) qui est hébergé sur une offre mutualisée d'OVH et derrière Cloudflare.

Dans le cadre des offres mutualisées d'OVH sous Linux, le serveur Web utilisé est donc Apache.

Dans un premier temps, j'ai donc modifié mon fichier .htaccess pour ceci :

<Files monfichier.php>
Order deny,allow
Deny from all
Allow from 78.XXX.YYY.ZZZ
</Files>


Mais, sûr de mon adresse IP, une erreur 403 était retournée par Apache.

Après consultation des journaux de connexion dans mon interface de gestion, il s'avère que l'adresse IP retournée est celle (très logiquement, merci le load-balancing) celle de Cloudflare :

173.245.49.193 poinsot.info - [06/Jan/2016:19:12:36 +0100] "GET /monfichier.php HTTP/1.1" 302 26 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.106 Safari/537.36"


Il faut donc récupérer l'adresse IP du visiteur par le biais de X-Forwarded-For.

On va donc modifier en conséquence le fichier .htaccess pour :

<Files monfichier.php>
Order deny,allow
Deny from all
SetEnvIf X-Forwarded-For ^78\.XXX\.YYY\.ZZZ env_allow
Allow from env=env_allow
</Files>


Et le tour est joué.
06/01/2016 19:45:00

Partager cet article

Commentaires (Cliquer pour afficher)

comments powered by Disqus