Joven hacker sonriendo

Hackeamos su software

cero falsos positivos

Inteligencia experta + automatización eficaz

Personalizar Páginas de Error

Nuestros ethical hackers explican la importancia de utilizar páginas de error en la aplicaciones web. Además, explican la forma de personalizar dichas páginas con el fin de evitar exponer información técnica y/o sensible de la aplicación o el servidor que la almacena.

Necesidad

Personalizar páginas de error en un servidor de aplicaciones Java EE.

Contexto

A continuación se describen las circunstancias bajo las cuales la siguiente solución tiene sentido:

  1. La aplicación está desarrollada en Java EE versión 1.4 o superior.

  2. Se requiere evitar revelar información sobre rutas, código fuente y versión de las herramientas de desarrollo cuando se genere un error en la aplicación.

Solución

Hoy en día, y debido a la gran masificación que ha tenido Internet, es más que probable que en este preciso momento millones de personas alrededor del mundo estén accediendo a un sitio web. Sea por cuestión de negocios, educación, entretenimiento, o simplemente por pasar el rato, prácticamente es inconcebible pensar en el día a día sin este poderoso medio de comunicación.

Pero así como hay millones de personas que visitan millones de sitios web, existe la posibilidad de que se presenten millones de errores al intentar acceder a la información almacenada en los diversos sitios web. Estos errores se pueden dar por múltiples razones, pero sin duda, la más recurrente es que el contenido buscado no se encuentra alojado en dicho servidor.

Si bien es normal que esto suceda, es absolutamente necesario que un sitio web tenga una página por defecto para informar los errores. Eso se debe hacer por diversos motivos, pero el que concierne a este articulo, es para evitar exponer información técnica de la aplicación que pueda ser utilizada posteriormente por un atacante con el fin de comprometer el correcto desempeño del sitio web.

En esta solución, se explicará la manera de generar páginas de error personalizadas en las aplicaciones desarrolladas en Java EE.

  1. Se debe utilizar el archivo de configuración de la aplicación web.xml. En dicho archivo se puede mapear los errores a URLs especificas utilizando el elemento <errorpage>.

  2. El elemento crea un enlace entre el código del error o el tipo de error con la ubicación del recurso o página de la aplicación.

  3. Dentro de la sección <error-page> se pueden utilizar los siguientes subelementos:

    • error-code: Es un entero que identifica el código del error.

    • Exception-type: Nombre completo de la clase del tipo de excepción Java.

    • Location: Ubicación del recurso dentro del root de la aplicación.

  4. Personalizar la pagina mediante el código de error.

    web.xml
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    <error-page>
      <error-code>401</error-code>
      <location>/ejemplo/ERROR/401.html</location>
    </error-page>
    <error-page>
      <error-code>404</error-code>
      <location>/ejemplo/ERROR/404.html</location>
    </error-page>
    <error-page>
      <error-code>500</error-code>
      <location>/ejemplo/ERROR/500.html</location>
    </error-page>
    
  5. Personalizar la pagina mediante el tipo de excepción.

    1
    2
    3
    4
    <error-page>
      <exception-type>java.io.FileNotFoundException</exception-type>
      <location>/ejemplo/ERROR/FileNotFound.html</location>
    </error-page>
    
  6. Para establecer una página genérica para cualquier tipo de error que ocurra en la aplicación se debe considerar la siguiente configuración.

    1
    2
    3
    4
    <error-page>
      <exception-type>java.lang.Exception</exception-type>
      <location>/ejemplo/ERROR/exception.html</location>
    </error-page>
    



Haz un comentario

Estado de los servicios - Términos de Uso