2021-05-12 11:00:58
java如何獲取使用者端真正的ip地址
java獲取使用者端真實IP
獲得使用者端真實IP地址的方法一
-
01
public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
} - End
獲得使用者端真實IP地址的方法二
-
01
public String getIpAddr(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;
} - End
特別提示
可是,如果通過了多級反向代理的話,X-Forwarded-For的值並不止一個,而是一串IP值,究竟哪個才是真正的使用者端的真實IP呢? 答案是取X-Forwarded-For中第一個非unknown的有效IP字串。如: X-Forwarded-For:192.168.1.110, 192.168.1.120, 192.168.1.130, 192.168.1.100 使用者真實IP為: 192.168.1.110
相關文章
-
7+2強化供電!599元梅捷SY-狂龍H510M圖賞
除了廣為人知的Z590和B560之外,英特爾還發布了入門級的H510晶片組,也是上一代H410晶片組的升級版。 在相容性方面,H510晶片組與Z590晶片組和B560晶片組沒有什麼區別,都可以相容1
2021-05-10 19:00:28
-
支援5333高頻記憶體!技嘉小雕PRO B560M主機板圖賞
Intel第十一代酷睿已經上市,新架構帶來了巨大的IPC提升幅度,同時,Intel還開放了B560/H570主機板的記憶體超頻功能,這使得主流玩家也可以輕鬆享受高頻記憶體帶來的流暢遊戲體驗。
2021-05-09 16:00:04
-
24K純金!微星MEG Z590 ACE GOLD EDITION戰神至臻圖賞
顯示卡、散熱器、風扇都能玩RGB,機箱中,主機板幾乎是最不起眼的存在。 而近日,微星推出了一款亮眼的主機板,首次用上了24K純金設計,它就是MEG Z590 ACE戰神至臻,一起來瞧瞧。 MEG
2021-05-07 22:00:14