Empêcher l’access aux fichiers dans un certain dossier

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 
  1. Créez un fichier .htaccess dans le dossier souhaité avec le contenu suivant:

    Deny from all

  2. É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 associée)

    AccessFileName .htaccess

  3. Modifiez le fichier de configuration de votre site uniquement si vous avez une balise spécifiée à l’intérieur et ajoutez la ligne suivante:

    AllowOverride ALL

  4. 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.

Référence: http://www.cyberciti.biz/faq/apache-htaccess/

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