jump to navigation

Recuperar la cabecera X-Forwarded-For Octubre 10, 2009

Publicado por lineadecodigo en : Java , trackback

X-Forwarded-For es una cabecera HTTP que nos permite conocer la IP origen de la petición. Y es que hasta ahora se utilizaba REMOTE_ADDR, la cual solo nos devolvía la IP de la última máquina por la que había pasado. A todas luces poco útil de cara a conocer el origen de la petición.

El formato de la cabecera X-Forwarded-For es el siguiente:

X-Forwarded-For: client1, proxy1, proxy2

En nuestro caso vamos a montar un servlet en Java que acceda a esta cabecera. Para acceder a los datos de la cabecera nos apoyaremos en el método .getHeader() del objeto HttpServletRequest. En este caso el nombre de la cabecera es "X-Forwarded-For", así que el código será el siguiente:

  1. String sIP = request.getHeader("X-FORWARDED-FOR");

Ahora, con esta ristra de datos podemos hacer lo que queramos. Posiblemente necesitemos apoyarnos en StringTokenizer para desmontar la cadena de IP. O, por lo menos, volcar el contenido a la pantalla:

  1. PrintWriter out = response.getWriter();
  2. out.print("La IP origen ha llegado por: " + sIP);

¿Conocías la existencia de X-Forwarded-For? ¿Crees que puede ayudarte en algo en tus programas?

Articulos Similares:

|- Descargar el código
|- Reportar error en el código
|- Foro sobre Java Servlet

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 1253 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (Todavia sin evaluar)
Loading ... Loading ...

Comentarios»

1. Alberto Vilches - Octubre 15, 2009

De entrada creo que su principal utilidad es la de bloquear IPs por motivos de seguridad. Por ejemplo, si una IP esta accediendo a tu servicio para intentar usar tus formularios para enviar spam. O si por ejemplo has programado un juego online, para evitar que 2 usuarios distintos se identifiquen a la vez desde la misma IP…. Interesante, sin duda.

2. lineadecodigo - Octubre 16, 2009

Muy buenas opciones @Alberto Vilches,. Sin duda alguna el control de la IP origen permite tener un gran control sobre sus acciones. Muy útil si pensamos en la perspectiva de seguridad.

Y, desde el punto de vista proactivo de cara a tomar decisiones de enrutado, transformación,… ¿que os parece esto?

3. aulambra.com » Semanas 28.septiembre – 5 y 12.octubre - Octubre 20, 2009

[...] Recuperar la cabecera X-Forwarded-For [...]




Si tienes dudas sobre Java Servlet no dudes en visitar el Foro sobre Java Servlet.
Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen