记录在这
public String getClientIpAddr(HttpServletRequest request) {
String ip = request.getHeader("x-forwarded-for");
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
如果通过了多级反向代理的话,X-Forwarded-For的值并不止一个,而是一串IP值,那么真正的用户端的真实IP则是取X-Forwarded-For中第一个非unknown的有效IP字符串。
另一种方法
public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
分享到:
相关推荐
集成各种获取方式,获取正确的IP
如果需要获取真实的客户端IP地址,还需要检查HTTP头部信息中的`X-Forwarded-For`字段。 #### 二、获取客户端 MAC 地址 获取客户端的MAC地址相对较为复杂,一般不推荐直接在Web应用中实现该功能。但在某些特定场景...
在ASP.NET开发中,获取客户端IP地址是一项常见的需求,这对于实现如访问统计、地理位置定位、安全防护等功能至关重要。本文将详细讲解如何在ASP.NET中获取客户端的IP地址,并结合提供的资源进行讨论。 首先,我们...
webService调取IP所在地,以及获得客户端真实IP
当请求经过反向代理时,这个字段会包含原始客户端IP地址的信息。以下是一个简单的示例代码: ```java public String getRealIP(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for");...
获得客户端IP的类,可以通过该类里的方法获取连接上来的IE客户端的IP
javaAction中用于获得访问客户端的IP
首先,客户端IP地址是指互联网上的设备(如用户的电脑、手机等)在网络通信中使用的唯一标识符。在ASP.NET中,我们可以利用`HttpRequest`对象的`UserHostAddress`属性来获取这一信息。`HttpRequest`对象是ASP.NET...
获取客户端IP地址、浏览器版本和操作系统信息在JSP中的实现方法 在JSP中,获取客户端的IP地址、浏览器版本和操作系统信息是非常重要的。通过使用HttpServletRequest对象,我们可以获取到客户端的相关信息。 获取...
### JS获取客户端IP地址、MAC和主机名的7个方法详解 #### 一、使用JS获取客户端IP的方法 ##### 方法一:使用ActiveX获取IP(仅适用于IE浏览器) 这种方法依赖于`ActiveXObject`来实现,因此只能在允许运行ActiveX...
### JSP 页面获取客户端真实 IP 的方法 在 IT 领域中,了解客户端的真实 IP 地址对于网站统计、安全防护以及个性化推荐等方面都非常重要。由于互联网中的 HTTP 请求经常通过代理服务器转发,因此直接使用 `request....
我们调用它的写法是[removed][removed]。它能够返回用户IP和地址,例如:var... javascript获得客户端IP的又一方法 近日,我发现了另一个可以获得客户端IP的方法,这个服务是国外一网站提供的。使用方法如下: [Ctrl+
2. **HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]**:这种方法同样可以从服务器变量中获取客户端IP,但与UserHostAddress不同的是,如果请求通过代理,它通常会返回代理服务器的IP。 3. **X-...
总的来说,Nginx的配置文件允许我们灵活地管理网络流量,通过`proxy_pass`指令和相关的头信息设置,我们可以确保客户端IP信息在转发过程中得到保留。这在需要追踪用户行为、实施安全策略或者进行负载均衡时尤其有用...
在很多应用下都可能有需要将用户的真实IP记录下来,这时就要获得用户的真实IP地址,在JSP里,获取客户端的IP地址的方法是:request.getRemoteAddr(),这种方法在大部分情况下都是有效的。但是在通过了Apache,Squid等...
在Java编程中,获取客户端IP地址以及其归属地是一项常见的需求,这主要涉及到网络协议的理解以及第三方库的使用。在Web应用中,服务器通常需要识别来访用户的地理位置信息,以便进行个性化服务、安全控制或者数据...
总结,获取客户端IP地址可以通过分析HTTP请求头得到,而获取IP归属地则需要借助于IP地理位置服务,如“聚合数据”。通过向其API发送请求并解析返回的JSON数据,可以得到详细的地理位置信息。在实际开发中,务必遵循...
根据提供的文件信息,本文将详细解释如何在C#中获取客户端的MAC地址(Media Access Control Address)以及IP地址。此过程通常涉及到网络编程,并且由于安全性和隐私问题,在实际应用时需要格外小心。 ### 一、理解...
客户端IP地址是网络中设备的唯一标识,通常通过网络请求头中的`REMOTE_ADDR`字段获取。在某些情况下,如果客户端经过了代理,可能需要检查`X-Forwarded-For`字段,因为这是代理服务器通常会设置的IP地址。 MAC地址...
这时,我们可以从Socket对象获取远程地址来得到客户端IP。 ```java import java.net.Socket; public class CustomServer { public void handleRequest(Socket socket) { String clientIP = socket....