J’ai un dossier avec beaucoup de fichiers .php
. Je voudrais leur refuser l’access (en utilisant .htaccess
). Je sais qu’une option consiste à déplacer ce dossier en dehors de public_html
, mais cela n’est pas possible dans cette situation.
Est-il possible de bloquer l’access à un dossier entier?
Ajoutez ceci au fichier .htaccess
:
order deny,allow deny from all
Créez un fichier .htaccess dans le dossier souhaité avec le contenu suivant:
Deny from all
Éditez apache2.conf
ou httpd.conf
, quoi que vous trouviez dans le répertoire Apache2 (probablement situé dans /etc/apache2
). Vous devrez modifier / vérifier les éléments suivants:
AllowOverride ALL
(dans la balise
AccessFileName .htaccess
Modifiez le fichier de configuration de votre site uniquement si vous avez une balise
AllowOverride ALL
Redémarrez votre serveur Apache2
service apache2 restart
Les étapes ci-dessus sont toutes destinées aux environnements Linux. Les mêmes instructions fonctionneraient bien pour les environnements Windows, à l’exception des chemins d’access et de la commande de redémarrage du serveur.
Apache 2.4 utilise maintenant une méthode différente pour que la méthode qui fonctionne pour Apache 2.2 ne fonctionne pas. Voir ci-dessous la méthode qui fonctionnera pour Apache 2.4. Placez-le dans votre fichier .htaccess Apache ou mieux encore dans une directive
dans le fichier .conf Apache de votre site.
Si vous utilisez Apache 2.2:
order deny,allow deny from all
Si vous utilisez Apache 2.4, utilisez:
Require all denied
Ajoutez simplement un fichier .htaccess avec le code Deny from all
au dossier.
Plus d’infos sur http://httpd.apache.org/docs/2.2/mod/mod_authz_host.html