我想在我的jsp页面中获取客户端的IP地址,并希望存储在我的数据库中.
我在Jsp页面中使用以下代码来填充IP地址,但它显示的是服务器IP地址.
<input type="hidden" name="ipaddress" value="<%=request.getRemoteAddr()%>"/>
Run Code Online (Sandbox Code Playgroud)
在通常的情况下,方法ServletRequest.getRemoteAddr()
(或getRemoteHost()
和getRemotePort()
)应返回实际客户的细节.但是,如果它通过代理或不同的servlet引擎路由,你将获得这些机器的IP.要解决这些问题,您可以尝试以下操作
request.getHeader("VIA") --> Gateway
request.getHeader("X-FORWARDED-FOR")--> IPaddress
Run Code Online (Sandbox Code Playgroud)
但是,如果请求直接来自客户端,则可能返回null.您可以通过一些附加条件来处理这种情况以获取有效数据.
归档时间: |
|
查看次数: |
15306 次 |
最近记录: |