Recuperar la cabecera X-Forwarded-For Octubre 10, 2009
Publicado por lineadecodigo en : Java , trackbackX-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:
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:
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:
- Extraer contenido separado por delimitadores con Java
- Invertir una frase en Java
- Reenviar petición a otro Servlet
- Eliminar espacios en blanco con Java
- Recibir parametros en una JSP
|- Reportar error en el código
|- Foro sobre Java Servlet
Enviar entrada por email
|
Imprimir
| 1253 visitas





Comentarios»
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.
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?
[...] Recuperar la cabecera X-Forwarded-For [...]