Bonjour,
Ca fait un petit moment que je cherche mais il existe plusieurs solutions, je fais appel aux connaisseurs.
J'ai fait une belle appli web en utilisant l'arborescence par défaut, en gros :
├───web
│ tous mes fichiers html, js, css, JSP...
├───WEB-INF
│ ├───classes
│ ├───lib
│ └───src
└───work
build.xml
build.properties
Je cherche à empêcher l'accès direct à work, WEB-INF, et surtout build.properties qui contient des données précieuses sur mon appli.
Je voudrais que seules les requêtes vers mes servlets soient acceptées.
COMMENT FAIRE ???
J'ai essayé de bidouiller la configuration de mon VirtualHost Apache en ajoutant des deny from all dans une directive <Directory>, en me disant, je fais interdire l'accès aux répertoires web... mais ça ne marche pas.
J'essaie de jouer sur les paramètres de redirection d'Apache vers Tomcat avec mod_jk et là ça se présente un peu mieux. J'ai donc un truc comme ça dans ma config d'Apache :
Histoire d'interdire l'accès aux sous-répertoires de mon appli mais ça ne marche pas vraiment. Avant ça m'afficher le contenu du répertoire, maintenant j'ai un forbidden sur le contenu mais si je mets l'url d'un fichier, et bien je peux le voir.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 JkUnMount /mon_appli/*/ worker1 JkMount /mon_appli/* worker1
Quel est donc la manière courante de procéder quand on a une appli web avec tomcat et que l'on veut empêcher l'accès aux fichiers ?
J'ai pensé à 2 autres solutions : les fichiers .htaccess, ou bien préfixer toutes mes servlet par le mot Servlet par exemple et dans mes règles de redirection écrire une règle qui autorise /mon_appli/Servlet*.
Je pense que beaucoup ont déjà eu ce soucis et qu'ils ont trouvé la parade.
MERCI POUR VOTRE AIDE !!!
Partager