pseudo-archive Java 
Réalisation

Servlet - JSP / Controle d'acces aux fichier

Salut,

Deux petites questions liées à la sécurités dans les appli Web basées sur
les servlets (et JSP).

1. Existe-t-il un moyen standard (J2EE) qui permet de controler
   l'acces aux fichiers. En gros, j'aimerai que le serveur HTTP ou le
   servlet container m'interroge pour savoir si il a le droit de renvoyer
   le fichier (images, PDF, ...) qui vient de lui être requeté.

2. Je n'ai pas non plus trouvé comment on pouvait configure web.xml de
   facon standard pour interdire ou autoriser le browsing des
   répertoires.

Merci

a+

---------------------------------------------------------------
 Olivier Dedieu
 JALIOS (33) 1 39 63 51 47, fax (33) 1 39 63 52 45
 INRIA Rocquencourt, BP 105, 78153 LE CHESNAY cedex FRANCE
 JavaChannel: http://www.java-channel.org/
---------------------------------------------------------------


Une des possibilités des servlet est de travailler sur le PathInfo.

Tu déclares une servlet http://monservuer/servlet/getFile

Une requête de type
http://monservuer/servlet/getFile/undossier/unfichier.ext
appellera ta servlet getFile avec comme PathInfo
"/undossier/unfichier.ext". Tu peux alors répondre a cette requête comme
bon te semble :-)

getPathInfo

public java.lang.String getPathInfo()

Returns any extra path information associated with the URL the client sent
when it made this request. The extra path information follows the servlet
path (the URI of the URL) but precedes the query string. This method
returns null if there was no extra path information. The information this
method returns is the same as the value of the CGI variable PATH_INFO.

Returns:
a String specifying extra path information that comes after the servlet
path but before the query string in the request URL; or null if the URL
does not have any extra path information

--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
Tél. 01 41 96 96 76
Fax 01 41 96 96 77
Mél  erik.mazoyer@hyperoffice.fr 

-----Message d'origine-----
De: Jerome Moliere [mailto:moliere@viveo-montpellier.com]
Date: lundi 18 février 2002 16:44
À: java@u-strasbg.fr
Objet: Re: Servlet - JSP / Controle d'acces aux fichier




Olivier Dedieu wrote:

> Salut,
> 
> Deux petites questions liées à la sécurités dans les appli Web basées
> sur les servlets (et JSP).
> 
> 1. Existe-t-il un moyen standard (J2EE) qui permet de controler
>    l'acces aux fichiers. En gros, j'aimerai que le serveur HTTP ou le
>    servlet container m'interroge pour savoir si il a le droit de
>    renvoyer le fichier (images, PDF, ...) qui vient de lui être requeté.
cela ressemble fortement a un filtre non ?

je testerai avec ca, puisque tu peux mapper un ou n filtre vers 
n'importe quelle URL...probleme, comment le greffer dans Apache (trivial
dans tomcat)...

Jerome



>  
>  
>  Olivier Dedieu wrote:
>  
>  > Salut,
>  > 
>  > Deux petites questions liées à la sécurités dans les appli Web basées
>  > sur les servlets (et JSP).
>  > 
>  > 1. Existe-t-il un moyen standard (J2EE) qui permet de controler
>  >    l'acces aux fichiers. En gros, j'aimerai que le serveur HTTP ou le
>  >    servlet container m'interroge pour savoir si il a le droit de
>  >    renvoyer le fichier (images, PDF, ...) qui vient de lui être
>  >    requeté.
>  cela ressemble fortement a un filtre non ?

Ah oui j'ai oublié de préciser, je suis en servlet 2.2.

Sinon, avec Servlet 2.3, c'est surement la bonne solution.

merci.

-- 
---------------------------------------------------------------
 Olivier Dedieu
 JALIOS (33) 1 39 63 51 47, fax (33) 1 39 63 52 45
 INRIA Rocquencourt, BP 105, 78153 LE CHESNAY cedex FRANCE
 JavaChannel: http://www.java-channel.org/
---------------------------------------------------------------







>  Une des possibilités des servlet est de travailler sur le PathInfo.
>  
>  Tu déclares une servlet http://monservuer/servlet/getFile
>  
>  Une requête de type
>  http://monservuer/servlet/getFile/undossier/unfichier.ext
>  appellera ta servlet getFile avec comme PathInfo
>  "/undossier/unfichier.ext". Tu peux alors répondre a cette requête
>  comme bon te semble :-)

Oui c'est une bonne idée, mais ca me fait un peu réinventé la roue. Le
servlet container à deja une telle servlet et j'aimerai juste la
configurer ou la redefinir. C'est cette servlet que j'aimerai connaitre.
Mais j'ai de plus en plus l'impression que chaque servlet engine a la
sienne.

a+

---------------------------------------------------------------
 Olivier Dedieu
 JALIOS (33) 1 39 63 51 47, fax (33) 1 39 63 52 45
 INRIA Rocquencourt, BP 105, 78153 LE CHESNAY cedex FRANCE
 JavaChannel: http://www.java-channel.org/
---------------------------------------------------------------






> Oui c'est une bonne idée, mais ca me fait un peu réinventé la roue.

Complètement :-(

> Le servlet container à deja une telle servlet et j'aimerai juste la
> configurer ou la redefinir. C'est cette servlet que j'aimerai connaitre.
> Mais j'ai de plus en plus l'impression que chaque servlet engine a la
> sienne.

J'en suis arrivé à la même conclusion, d'ou ma proposition.

--------------------------------------------------------------------
Erik Mazoyer, Chef de projet
HyperOffice
6, rue Jacques Daguerre - 92565 Rueil-Malmaison Cedex
Tél. 01 41 96 96 76
Fax 01 41 96 96 77
Mél  erik.mazoyer@hyperoffice.fr 

-----Message d'origine-----
De: Olivier Dedieu [mailto:olivier.dedieu@inria.fr]
Date: lundi 18 février 2002 17:48
À: java@u-strasbg.fr
Objet: RE: Servlet - JSP / Controle d'acces aux fichier



>  Une des possibilités des servlet est de travailler sur le PathInfo.
>  
>  Tu déclares une servlet http://monservuer/servlet/getFile
>  
>  Une requête de type
>  http://monservuer/servlet/getFile/undossier/unfichier.ext
>  appellera ta servlet getFile avec comme PathInfo
"/undossier/unfichier.ext".
>  Tu peux alors répondre a cette requête comme bon te semble :-)

Oui c'est une bonne idée, mais ca me fait un peu réinventé la roue. Le
servlet container à deja une telle servlet et j'aimerai juste la
configurer ou la redefinir. C'est cette servlet que j'aimerai connaitre.
Mais j'ai de plus en plus l'impression que chaque servlet engine a la
sienne.

a+

---------------------------------------------------------------
 Olivier Dedieu
 JALIOS (33) 1 39 63 51 47, fax (33) 1 39 63 52 45
 INRIA Rocquencourt, BP 105, 78153 LE CHESNAY cedex FRANCE
 JavaChannel: http://www.java-channel.org/
---------------------------------------------------------------