Tribune

Home » Liferay Portal » English » 2. Using Liferay » General

Vista Combinata Vista Piatta Vista ad Albero
Discussioni [ Precedente | Successivo ]
toggle
Satish Bejgum
Client IP Address
27 giugno 2009 2.46
Risposta

Satish Bejgum

Punteggio: Junior Member

Messaggi: 45

Data di Iscrizione: 5 novembre 2008

Messaggi recenti

Hello All,

How do i get Client IP Address in JSP?

I have tried using request.getRemoteAddr() but its returning null.

Can anyone suggest how do i get client ip address?

Thanks
Brian Chan
RE: Client IP Address
27 giugno 2009 10.30
Risposta

Brian Chan

LIFERAY STAFF

Punteggio: Liferay Master

Messaggi: 751

Data di Iscrizione: 4 agosto 2004

Messaggi recenti

Try:

com.liferay.portal.util.PortalUtil.getHttpServletRequest(renderRequest).getRemoteAddr()

The spec forces us to make it so that the request.getRemoteAddr() returns null, but the method above will return to you the real HttpServletRequest. Be careful what you do with that object though emoticon
Satish Bejgum
RE: Client IP Address
29 giugno 2009 5.37
Risposta

Satish Bejgum

Punteggio: Junior Member

Messaggi: 45

Data di Iscrizione: 5 novembre 2008

Messaggi recenti

I'm able to get the client IP by using
com.liferay.portal.util.PortalUtil.getHttpServletRequest(renderRequest).getRemoteAddr()

but is there any harm leaving that object alone? if so, how do i get out of it?

Thanks
Mazhar Alam
RE: Client IP Address
23 febbraio 2012 22.12
Risposta

Mazhar Alam

Punteggio: Regular Member

Messaggi: 201

Data di Iscrizione: 25 novembre 2011

Messaggi recenti

Thanks its working fine for me.
siddhant jain
RE: Client IP Address
2 aprile 2013 0.15
Risposta

siddhant jain

Punteggio: Junior Member

Messaggi: 69

Data di Iscrizione: 19 marzo 2013

Messaggi recenti

com.liferay.portal.util.PortalUtil.getHttpServletRequest(renderRequest).getRemoteAddr()

this method is returning the proxy address
i have tried


.getHeader("X-FORWARDED-FOR");


but it is also returning null.

how to get the ip address of originating client and not of its proxy???
David H Nebinger
RE: Client IP Address
2 aprile 2013 5.35
Risposta

David H Nebinger

Community Moderator

Punteggio: Liferay Legend

Messaggi: 11102

Data di Iscrizione: 1 settembre 2006

Messaggi recenti

You have to find out what header the proxy is setting for the originating client ip address.

Then use PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(renderRequest)).getHeader("my-proxy-header").
Jobin Mathew
RE: Client IP Address
19 marzo 2015 10.18
Risposta

Jobin Mathew

Punteggio: Junior Member

Messaggi: 65

Data di Iscrizione: 4 luglio 2014

Messaggi recenti

David H Nebinger:
You have to find out what header the proxy is setting for the originating client ip address.

Then use PortalUtil.getOriginalServletRequest(PortalUtil.getHttpServletRequest(renderRequest)).getHeader("my-proxy-header").



FacesContext facesContext = FacesContext.getCurrentInstance();
PortletRequest portletRequest = (PortletRequest) facesContext.getExternalContext().getRequest();
HttpServletRequest request = PortalUtil.getHttpServletRequest(portletRequest);
HttpServletRequest originalServletRequest = PortalUtil.getOriginalServletRequest(request);
String ipAddress=originalServletRequest.getHeader("x-forwarded-for");


it works for me .. it it correct?
David H Nebinger
RE: Client IP Address
19 marzo 2015 11.27
Risposta

David H Nebinger

Community Moderator

Punteggio: Liferay Legend

Messaggi: 11102

Data di Iscrizione: 1 settembre 2006

Messaggi recenti

Sure. It all depends upon the header used by your proxy, and if this is working for you then you've found the right one! emoticon
Jobin Mathew
RE: Client IP Address
30 marzo 2015 9.54
Risposta

Jobin Mathew

Punteggio: Junior Member

Messaggi: 65

Data di Iscrizione: 4 luglio 2014

Messaggi recenti

Thanks emoticon