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

Keresztes Jozsef jkeresztes at vati.hu
2011. Sze. 22., Cs, 09:24:02 CEST


Sziasztok !

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.
Így az alkalmazás elérését lehetne korlátozni csak az adott ip cím(ek)ről lehessen hívni.
Igazából én sosem voltam híve ennek a fajta jogosultság kezelésnek, de valakik ezt
nagyon szeretik :) Szóval így jött a feladat hogy vizsgáljam le hogy a REMOTE_ADDR mellett
ez a másik cgi cucc is elérhető és ha igen akkor azt az ip-címet vegyük alapul.

Én ezt a módszert nem szeretem, ha egy usernek van joga valamihez vagyis rendelkezik
megfelelő username/password párossal (vagy egyéb dologgal...) 
akkor miért ne használhatná a rendszert Mozambikból, csak kizárólag Kenyából ?

Joe 

-----Original Message-----
From: Gábor Garami [mailto:gabor.garami at hron.me] 
Sent: Wednesday, September 21, 2011 6:45 PM
To: Java lista
Subject: [spam] Re: [Javalist] [spam] Re: CGI variable

Eloszor is kerdes: valami reverse proxy van elotted, aki belovi ezeket, ugye?

Ezek a header nevek, amiket te irsz, mar valamilyen atforditott nevek,
ilyet altalaban
PHP vagy Perl szokott csinalni (ezert kerdezte a kollega, hogy Perl
vagy PHP felol jossz-e),
a kerdeses HTTP headereknek valojaban nem ez a nevuk.

Az altalad keresett header nev: X-Forwarded-For. Valoszinuleg ilyen neven fogod
a getHeader() fuggvennyel. Esetleg a kisbetus valtozataval.

Udv,

Garami Gábor
E-mail: gabor.garami at hron.me
Tel: +36 20 235 9621
MSN: hrgy at vipmail.hu
Skype: hron84




2011/9/21 Keresztes Jozsef <jkeresztes at vati.hu>:
> Ok köszi a válaszokat. Természetesen nem programoztam perl-ben,
> és nem is igazán érdekeltek eddig a CGI változók (ezért vagyok benne bizonytalan),
> úgyhogy maradt az hogy
>
> request.getHeader("HTTP_X_FORWARDED_FOR")
>
> Ha null-t kapok akkor tudomásul kell venni hogy nincs ilyen CGI változó és kész.
> Ha küld a kliens akkor viszont kutya kötelessége a getHeader()-nek is látnia.
> Rendben.
>
>
> -----Original Message-----
> From: Laszlo Hornyak [mailto:laszlo.hornyak at gmail.com]
> Sent: Wednesday, September 21, 2011 3:55 PM
> To: Java lista
> Subject: [spam] Re: [Javalist] CGI variable
>
> Persze, mert nincs olyan http header, hogy remote_addr. Hacsak nem
> kuldi a kliensed, de minek kuldene :)
> Perl felol erkezel a levlistara? Itt nem kornyezeti valtozokat meg CGI
> valtozokat kapsz, hanem plain java objkektumokat. Headereket a
> headerek kozul, parametereket a parameterek kozul es egyeb http
> request-tel kapcsolatos infot a request tovabbi metodusaival.
>
> 2011/9/21 Keresztes Jozsef <jkeresztes at vati.hu>:
>> Valahogy nem stimmel, pedig a header-rel is próbálkoztam.
>> Még a REMOTE_ADDR változót sem tudom így elérni.
>>
>> String ip = request.getRemoteAddr();
>> System.out.println("REMOTE_ADDR: " + request.getHeader("REMOTE_ADDR"));
>>
>> Az első sorral visszakapom az IP címet a 2. sorral null-t kapok.
>> Amúgy ha kiiratom mi van a header-ben elég szűkös:
>>
>> Enumeration en = request.getHeaderNames();
>> while (en.hasMoreElements()) {
>>  System.out.println("CGI: " + en.nextElement());
>> }
>>
>> mindössze ezt kapom:
>>
>> CGI: host
>> CGI: user-agent
>> CGI: accept
>> CGI: accept-language
>> CGI: accept-encoding
>> CGI: accept-charset
>> CGI: connection
>> CGI: referer
>> CGI: cookie
>> CGI: content-type
>> CGI: content-length
>>
>> Se olyan hogy REMOTE_ADDR, AUTH_TYPE,...
>> pedig az utóbbira is van metódus: request.getAuthType()
>>
>>
>>
>> -----Original Message-----
>> From: CoL [mailto:col at gear.hu]
>> Sent: Wednesday, September 21, 2011 3:42 PM
>> To: Java lista
>> Subject: Re: [Javalist] CGI variable
>>
>> Szia,
>>
>> nem kell semmire metódus :) Minden header-t el tudsz kérni:
>> request.getHeader("HTTP_X_FORWARDED_FOR")
>>
>> C.
>>
>> 2011/9/21 Keresztes Jozsef <jkeresztes at vati.hu>:
>>> Szóval ezek a CGI változók:
>>>
>>> REMOTE_ADDR=...
>>> HTTP_X_FORWARDED_FOR=...
>>>
>>> A kettő nem ugyanaz az IP cím. A REMOTE_ADDR-hez hozzáférek hiszen erre
>>> van java metódus:
>>>
>>> HttpServletRequest request = ...;
>>> String ip = request.getRemoteAddr();
>>>
>>> De én szeretnék a HTTP_X_FORWARDED_FOR -hoz hozzáférni.
>>> Hogy tudom elérni ?
>>>
>>> Joe
>>>
>>>
>>> -----Original Message-----
>>> From: Laszlo Hornyak [mailto:laszlo.hornyak at gmail.com]
>>> Sent: Wednesday, September 21, 2011 3:19 PM
>>> To: Java lista
>>> Subject: Re: [Javalist] CGI variable
>>>
>>> Hali!
>>>
>>> Hogy erted hogy nincsen metodusa ra? Konkretan egy filefeltoltesrol
>>> van szo? Mert akkor nem jonnek a post es get parameterek a requestbol.
>>>
>>> (Hali javalista! :-) )
>>>
>>> 2011/9/21 Keresztes Jozsef <jkeresztes at vati.hu>:
>>>> Sziasztok !
>>>>
>>>> Az lenne a kérdésem, egy java servlet hogy tud kiolvasni egy CGI változót ?
>>>> Persze olyat amire a HttpServletRequest-nek nincs metódusa.
>>>> Keresem a neten a megoldást de nem találom...
>>>>
>>>> Üdv: Joe
>>>>
>>>> _______________________________________________
>>>> Javalist mailing list
>>>> Javalist at lists.javaforum.hu
>>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>>>
>>>
>>>
>>>
>>> --
>>>
>>> EOF
>>> _______________________________________________
>>> Javalist mailing list
>>> Javalist at lists.javaforum.hu
>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>>
>>>
>>> _______________________________________________
>>> Javalist mailing list
>>> Javalist at lists.javaforum.hu
>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>>
>>
>>
>>
>> --
>> C.
>> _______________________________________________
>> Javalist mailing list
>> Javalist at lists.javaforum.hu
>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>
>>
>> _______________________________________________
>> Javalist mailing list
>> Javalist at lists.javaforum.hu
>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>
>
>
>
> --
>
> EOF
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
_______________________________________________
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