Cacher les sources JSP/Java

Cacher les sources JSP/Java - Java - Programmation

Marsh Posté le 08-07-2009 à 16:18:50    

Bonjour.
 
Je développe une application en J2EE avec des pages JSP et des sources Java. Je voudrais pouvoir empêcher la consultation des codes sources, Java bien sur mais également des sources JSP et ceci même sur le serveur Web/J2EE.
 
Bien sur, les parties HTML sont visibles par le client sur le navigateur, mais je voudrais masquer le moindre script JSP.
 
Il est possible (j'ai vu ça en utilisant Netbeans) de compiler les pages .jsp et d'obtenir un .class. Peut-on configurer le serveur J2EE pour exécuter directement les .class compilés et n'avoir absolument aucune trace d'un .jsp ou d'un .java ?
 
Merci pour vos réponses.
 
 
PS : Je sais aussi qu'il est facile de retrouver les sources Java avec des décompilateurs tel que Jad, mais ce n'est pas le sujet.

Reply

Marsh Posté le 08-07-2009 à 16:18:50   

Reply

Marsh Posté le 08-07-2009 à 18:03:41    

Citation :


Je développe une application en J2EE avec des pages JSP et des sources Java. Je voudrais pouvoir empêcher la consultation des codes sources, Java bien sur mais également des sources JSP et ceci même sur le serveur Web/J2EE.  


Je ne vois pas exactement ce que tu veux dire. Comment un internaute pourrait consulter le code de ta JSP? Ce que l'internaute voit, c'est le code HTML pondu par ta JSP.
 

Citation :


Il est possible (j'ai vu ça en utilisant Netbeans) de compiler les pages .jsp et d'obtenir un .class. Peut-on configurer le serveur J2EE pour exécuter directement les .class compilés et n'avoir absolument aucune trace d'un .jsp ou d'un .java ?


 
En fait, les JSP sont TOUJOURS compilées en *.class, en général, la première fois qu'elles sont appelées. Concrètement, le cycle de vie d'une JSP, c'est
 
-réception de la requête concernant une jsp
-contrôle de la version compilée de la JSP (échec si le .class n'existe pas ou si la version du point class ne correspond pas à la version de la JSP)
-si la version n'est pas bonne, compiler la JSP et en faire un .class. Si la version est bonne sauter cette étape
-jouer la requête sur la JSP compilée
 
Maintenant, tu as certaines options (style -nojit -> no just-in-time compiler) qui permettent de déclarer que tu fournis toi même les versions compilées des JSP et qu'il n'y a pas besoin de faire les contrôles de version.
 
Enfin, si tu as peur que quelqu'un puisse accéder au .class et que tu ne veux pas qu'il te les décompile, tu peux utiliser un obfuscator (un programme qui transforme ton code de manière non bijective pour le rendre totalement illisible mais en assurant les mêmes fonctionnalités)
 
J'espère avoir répondu à tes questions :)

Reply

Marsh Posté le 08-07-2009 à 18:55:49    

Merci pour tes réponses :).
 
En effet je n'ai pas été très clair, ce que je veux c'est empêcher la consultation des .jsp par les administrateurs du serveur (techniciens, etc.) qui ont donc accès à l'ensemble des fichiers qui y sont stockés.
 
Les options de type "no just-in-time" semblent répondre à mon problème. Je vais me renseigner là-dessus et essayer de l'intégrer à mon projet.
 
D'ailleurs j'ai depuis aujourd'hui la même problématique avec des servlets : je voudrais que le serveur J2EE (Tomcat par exemple) puisse se contenter du .class compilé, et donc supprimer le .java sur le serveur. La solution doit être similaire.

Reply

Marsh Posté le 19-07-2009 à 18:10:04    

C'est anormal de mettre un .java dans l'archive WAR. Je veux dire, il ne sert à rien.

Reply

Marsh Posté le 20-07-2009 à 07:56:28    

Je ne parlais pas de .java en fait dans le WAR mais surtout de .jsp, les sources de la page HTML. C'est donc un peu l'équivalent des .java.

Reply

Sujets relatifs:

Leave a Replay

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