Apache - bloquer l'accès aux dossiers nommés "exemple"

Apache - bloquer l'accès aux dossiers nommés "exemple" - Logiciels - Linux et OS Alternatifs

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é.
:jap:


---------------
Vidéo Concorde Air France | www.kiva.org
Reply

Marsh Posté le 16-11-2010 à 14:32:00   

Reply

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.

Message cité 1 fois
Message édité par o'gure le 16-11-2010 à 15:14:58

---------------
Relax. Take a deep breath !
Reply

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


---------------
Vidéo Concorde Air France | www.kiva.org
Reply

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 ?


---------------
Relax. Take a deep breath !
Reply

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


---------------
Vidéo Concorde Air France | www.kiva.org
Reply

Marsh Posté le 16-11-2010 à 16:05:57    

le nom complet (comprendre depuis / jusqu'au bout) a un motif spécifique ?


---------------
Relax. Take a deep breath !
Reply

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.


---------------
Relax. Take a deep breath !
Reply

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 ?


---------------
Vidéo Concorde Air France | www.kiva.org
Reply

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.


Message édité par o'gure le 16-11-2010 à 16:46:29

---------------
Relax. Take a deep breath !
Reply

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


---------------
Vidéo Concorde Air France | www.kiva.org
Reply

Marsh Posté le 16-11-2010 à 16:57:49   

Reply

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 !


---------------
Vidéo Concorde Air France | www.kiva.org
Reply

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>
    Order deny,allow
    Deny from all  
</Directory>


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>
(ce que tu veux)
</Directory>


Les règles s'appliqueront d'abord à toto, puis la règle suivante à "public_html".
 
Et pouf.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed