Comment protéger le fichier HTACCESS ?
Comment puis-je protéger le fichier .htaccess de mon site contre les tentatives de piratage ?
Tout d'abord les droits d'accès au fichier .htaccess doivent être rw-r-r soit 644.
Ensuite, la méthode la plus répandue pour protéger les fichiers htaccess est d'y ajouter le code suivant qui empêchera quiconque d'accéder à un fichier nommé précisément ".htaccess".
<Files .htaccess>
order allow,deny
deny from all
</Files>
Ce n'est pas idéal car la correspondance est sensible à la casse. Sur certains systèmes, les fichiers htaccess protégés par cette méthode peuvent rester accessibles s'ils sont écrits par exemple en majuscule "HTACCESS".
Le mieux est d'empêcher l'accès externe à tout fichier contenant ".hta", ".HTA", ou n'importe quelle combinaison insensible à la casse.
.htaccess .HTACCESS .hTaCcEsS FILE.htaccess filename.HTACCESS RoOt.hTaCcEsS
Voici le code qui effectue le job :
<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>
Le code doit être placé dans le fichier .htaccess
ou directement dans le fichier httpd.conf
d'Apache.
Selon les sections que vous utilisez, il y a un ordre à respecter ; il est explicité sur cette page du site d'Apache.
Vous pouvez également protéger l'accès aux fichier .htaccess
et .htpasswd
via les fichiers de configuration de Apache, et de Nginx, si ce dernier est utilisé comme proxy inversé :
Règle à ajouter au fichier Apache httpd.conf
:
<FilesMatch ^(?i:\.ht.*)$>
Require all denied
</FilesMatch>
Si vous utilisez Nginx comme proxy inversé, il faut également ajouter une règle au fichier nginx.conf
:
location ~* /\.ht {
deny all;
}