Apache - bloquer l'accès aux dossiers nommés "exemple" - Logiciels - Linux et OS Alternatifs
Marsh Posté le 16-11-2010 à 15:11:00
Je dirais, intuitivement, que tu enlèves la directive « AllowOverride » de la conf du serveur (vu que c'est elle qui force à aller voir dans le répertoire la présence d'un .htaccess et qui fait chuter sensiblement les perfs) et tu rajoutes pour les répertoires en question une clause « Directory » dans laquelle tu stipules les droits d'accès.
De cette manière les droits d'accès sont chargés dès que le serveur est démarré et il n'y a plus à se référer à un fichier tierce.
Marsh Posté le 16-11-2010 à 15:34:50
J'ai des milliers de dossiers (contenant chacun 2 sous dossiers, dont 1 que je veux bloquer), et régulièrement de nouveaux sont créés. C'est donc impossible à gérer (cette liste de "directory" ).
Il faudrait donc avoir la possibilité de faire une unique règle qui "bloque l'accès au contenu des dossiers se nommant XXX".
Marsh Posté le 16-11-2010 à 15:40:11
tu ne peux pas changer l'emplacement de ces dossiers pour les faire sortir de l'arborescence du serveur ?
Marsh Posté le 16-11-2010 à 15:57:13
non, impossible, le "soft" utilisé se base sur l'arborescence pour créer le contenu du site, les catégories, sous catégories, etc.
Le serveur est en place depuis plusieurs années, a bcp de contenu et est en prod.
C'est infaisable
Avec un .htaccess dans chaque sous dossier (deny from all) ça fonctionne nickel, je ne peux plus appeler les fichiers directement). Sauf qu'avec ces prbs de perfs, si il est possible de le dire dans la config d'apache, ce serait top...
Marsh Posté le 16-11-2010 à 16:05:57
le nom complet (comprendre depuis / jusqu'au bout) a un motif spécifique ?
Marsh Posté le 16-11-2010 à 16:10:34
car tu as moyen de mettre des expressions régulières dans avec la directive « Directory »
Après au niveau perf, c'est possible que ça ressente, les expressions régulières peuvent être assez lourdes... Mais à tester, si c'est possible.
Marsh Posté le 16-11-2010 à 16:41:39
o'gure a écrit : le nom complet (comprendre depuis / jusqu'au bout) a un motif spécifique ? |
motif ?
Le chemin contient, comme je le disais, plusieurs dossiers et sous dossier pour l'organisation du contenu (repris pour créer les catégories, sous et sous-sous catégories du site web). Il y'a plusieurs niveaux, et le nombre de niveaux est variables.
Le nom des dossiers à protéger est unique et toujours le même.
Il faut pouvoir dire à apache de bloquer tous ce qui est dans */NomDuFameuxDossier/
Vois-tu une solution ?
Marsh Posté le 16-11-2010 à 16:45:58
Je pense que oui, cf. le lien que je t'ai indiqué dans mon précédent post.
Renseigne toi sur les expressions régulières et sur ce qu'est un motif, et crée en une (expression régulière) adaptée à ton cas.
Utilise la directive Directory avec l'expression régulière ainsi trouvée, et indique l'interdiction de consulter de ce répertoire dans le bloc Directory comme si c'était un .htaccess.
Marsh Posté le 16-11-2010 à 16:57:49
Désolé, la manip n'était pas claire, mais je pense avoir compris. Je vais tester.
Merci
Marsh Posté le 16-11-2010 à 18:07:26
Apparemment, ça fonctionne. Je continue de tester.
<Directory ~ /Nom_des_dossiers/>
Order deny,allow
Deny from all
</Directory>
Merci !
Marsh Posté le 16-11-2010 à 18:31:59
o'gure a écrit : Je dirais, intuitivement, que tu enlèves la directive « AllowOverride » de la conf du serveur (vu que c'est elle qui force à aller voir dans le répertoire la présence d'un .htaccess et qui fait chuter sensiblement les perfs) |
Mouais, à moins d'avoir un gros site commercial, la différence de perf entre la présence d'un htaccess ou non est faible, sauf à utiliser sur un matériel spécifique (serveur léger, pc dans une prise, matos de récup pré-pentium 4).
Sinon de ce que je comprend de la doc (je n'ai pas mis en pratique car pas l'utilité), tu peux très bien avoir un :
<Directory /home/*/public_html> |
Comme cela, dans ton "home", tous les sous-dossiers (toto, titi, tata) ayant un sous-sous-dossier "public_html", auront ce dossier "public_html" interdit.
Mais si tu fais une autre règle (avant !)
<Directory /home/toto> |
Les règles s'appliqueront d'abord à toto, puis la règle suivante à "public_html".
Et pouf.
Marsh Posté le 16-11-2010 à 14:32:00
Salut,
Puisqu'il est déconseillé d'utiliser les .htaccess pour des raisons de perfs (entre autres... : http://httpd.apache.org/docs/trunk [...] .html#when ), je cherche à bloquer, par la config d'Apache, l'accès au contenu des sous dossiers ayant un certain nom.
Est-ce possible ?
(le contenu de ces sous dossiers est géré par le site (en fonction des droits d'accès) et accessible par des Zip générés (contenu du panier))
Malgré plusieurs lectures de docs/recherche, je n'ai pour l'instant rien trouvé.
---------------
Vidéo Concorde Air France | www.kiva.org