[Javalist] [spam] Re: [spam] Re: CGI variable

istvan.ketler at lhsystems.com istvan.ketler at lhsystems.com
2011. Sze. 22., Cs, 09:56:45 CEST


Még soha nem kellett ilyet csinálnom, de most már érdekel. Mi van a nem publikus IP címekkel, meg a címfordítással? A proxy a belső címet kiadja ebben a header-ben? Meg olyan topológiát is el tudok képzelni, ahol a proxy is a gateway mögött van a munkaállomások között, és csak neki fordít címet a gateway (ez akkor is lehet, ha dmz-ben van, sőt dmz-ben más címtartomány alatt lehet látható a host mint a nyílt térben).

Másrészt mi van akkor, ha a proxy-ra tényleg más országot mond, mint a gépre? Akkor ezt most szabad, vagy nem? Kell egyáltalán ellenőrizni?

Üdvözlettel,

Iván

István Ketler
Team Leader 
Lufthansa Systems Hungaria Kft. 
Airline Management Solutions 
- Schedule & Revenue Management 
- Business Intelligence & Database Solutions
Neumann János u. 1/e
1117 Budapest
Hungary 
Tel: +36 1 887-2815 
Fax: +36 1 887-2977
Mobile: +36 30 600-4936 
Room: Infopark E, Room LH1-31 
e-mail: istvan.ketler at lhsystems.com 
Internet: www.LHsystems.hu



 
Sitz der Gesellschaft / Corporate Headquarters: Lufthansa Systems Hungaria Kft, Budapest, Fövarosi Birosag 01-09-463417
Geschaeftsfuehrung / Management Board: Monika Houck

-----Original Message-----

From: javalist-bounces at lists.javaforum.hu [mailto:javalist-bounces at lists.javaforum.hu] On Behalf Of Auth Gábor
Sent: Thursday, September 22, 2011 9:48 AM
To: Java lista
Subject: Re: [Javalist] [spam] Re: [spam] Re: CGI variable

Hi,

> Igen a feladat az hogy beazonosítsuk milyen IP-címről hívtak egy
> webalkalmazást. S ha jól sejtem a proxy (melyen keresztül megy az illető
> web request-je) berak egy egy ilyen általad leírt headert/cgi változót,
> így ebből elcsíphető igazából milyen ip-címről jött a kérés.

  Nem is egyet és nem is akárhogy... :)

  Én így oldottam meg:
String ip = httpRequest.getRemoteAddr();
String hostname = httpRequest.getRemoteHost();
if (httpRequest.getHeader("X-Forwarded-For") != null)
{
  ip = httpRequest.getHeader("X-Forwarded-For");
  java.util.StringTokenizer ipToken = new java.util.StringTokenizer(ip, ",");
  if (ipToken.countTokens() > 1)
  {
    while (ipToken.hasMoreElements())
    {
      ip = ipToken.nextToken().trim();
    }
  }
  try
  {
    hostname = InetAddress.getByName(ip).getHostName();
  } catch (Exception except)
  {
    perfLogger.doLogWarn("Cannot get hostname from %1$s IP address: %2$s",
ip, except.toString());
  }
}
requestData.setHostname(hostname);
requestData.setIp(ip);

(http://svn.javaforum.hu/svn/javaforum20/branches/JFPORTAL-94/JavaForum2.0/JavaForum2.0-war/src/main/java/hu/javaforum/filters/StatFilter.java)
-- 
http://www.javaforum.hu -=- http://www.enaplo.hu
Auth Gábor -=- http://www.javaforum.hu/web/10/authgabor

_______________________________________________
Javalist mailing list
Javalist at lists.javaforum.hu
http://lists.javaforum.hu/mailman/listinfo/javalist


További információk a(z) Javalist levelezőlistáról