I've seen things you people wouldn't believe. Attack ships on fire off the shoulder of Orion. I watched c-beams glitter in the dark near the Tanhauser Gate. All those moments will be lost in time, like tears. . . In rain. Time to die.
Roy, en Blade Runner

Evitar el acceso a recursos web

filterchain.gifPreguntaba Manu en [Struts] – Input y Forwards de un Action cómo se puede evitar con un filtro el acceso a todos los recursos que no sean acciones en nuestra aplicación.

Es posible que queramos limitar el acceso vía web a los recursos de nuestras aplicaciones, como por ejemplo a nuestras imágenes o páginas JSP. Típicamente será por razones de seguridad o auditoría. 

Una posible solución a la pregunta de Manu podría ser implementar un filtro (una clase que extienda de javax.servlet.Filter) que se invoque en todas las peticiones al servidor (o en las peticiones que queramos filtrar). En nuestra aplicación se declararía en nuestro fichero web.xml: 

<filter>

      <filter-name>FiltroRecursos</filter-name>

      <display-name>Filtrado de los recursos permitidos vía web</display-name>

      <description>Filtrado de los recursos permitidos vía web</description>

      <filter-class>es.lycka.bonita.seguridad.FiltroRecursos</filter-class>

</filter>

<filter-mapping>

      <filter-name>FiltroRecursos</filter-name>

<url-pattern>*</url-pattern>

</filter-mapping>

En el método doFilter de nuestro filtro (es.lycka.bonita.seguridad.FiltroRecursos) podemos saber qué recurso se está solicitando, utilizando el método request.getRequestURI(). De esta forma podemos permitir su acceso o denegarlo redirigiendo a una página de error. El criterio será el que nos interese, como por ejemplo que el recurso no esté en una lista de recursos válidos, o que su extensión no se acepte.

También te puede interesar:

1 Comentario hasta el momento »

  1. Manu dijo

    11 de March del 2008 a las 12:37 pm

    Muchas gracias por la aclaración!

Comentarios RSS · TrackBack URI

Dejanos tu Comentario

Nombre: (Requerido)

E-Mail: (Requerido)

Sitio WEB:

Comentario:

Comenta