[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