當前位置:首頁 » 雲伺服器 » 獲取伺服器真實ip

獲取伺服器真實ip

發布時間: 2022-01-10 22:34:19

1. php如何獲得訪問區域網內的伺服器的用戶的真實ip,即外網ip。

/**
* 獲取客戶端IP地址
*/
static public function getClientIP() {
static $ip = NULL;
if ( $ip !== NULL )
return $ip;
if ( isset( $_SERVER['HTTP_X_FORWARDED_FOR'] ) ) {
$arr = explode( ',', $_SERVER['HTTP_X_FORWARDED_FOR'] );
$pos = array_search( 'unknown', $arr );
if ( false !== $pos )
unset( $arr[$pos] );
$ip = trim( $arr[0] );
} elseif ( isset( $_SERVER['HTTP_CLIENT_IP'] ) ) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif ( isset( $_SERVER['REMOTE_ADDR'] ) ) {
$ip = $_SERVER['REMOTE_ADDR'];
}
// IP地址合法驗證
$ip = ( false !== ip2long( $ip ) ) ? $ip : '';
return $ip;
}

2. 如何獲取用戶的真實IP

問題引出:
<hr/>
在JSP里,獲取客戶端的IP地址的方法是:request.getRemoteAddr(),這種方法在大部分情況下都是有效的。但是在通過了 Apache,Nagix等反向代理軟體就不能獲取到客戶端的真實IP地址了。如果使用了反向代理軟體,用 request.getRemoteAddr()方法獲取的IP地址是:127.0.0.1或 192.168.1.110,而並不是客戶端的真實IP。
經過代理以後,由於在客戶端和服務之間增加了中間層,因此伺服器無法直接拿到客戶端的 IP,伺服器端應用也無法直接通過轉發請求的地址返回給客戶端。但是在轉發請求的HTTP頭信息中,增加了X-FORWARDED-FOR信息。用以跟蹤原有的客戶端 IP地址和原來客戶端請求的伺服器地址
舉例來說,當我們訪問口碑網首頁hangzhou.jsp時,其實並不是我們瀏覽器真正訪問到了伺服器上的hangzhou.jsp 文件,而是先由代理伺服器Nagix去訪問hagnzhou.jsp ,代理伺服器再將訪問到的結果返回給我們的瀏覽器,因為是代理伺服器去訪問hangzhou.jsp的,所以hangzhou.jsp中通過 request.getRemoteAddr()的方法獲取的IP實際上是代理伺服器的地址,並不是客戶端的IP地址。
<hr/>
獲得客戶端真實IP地址的方法一:
public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
<hr/>

獲得客戶端真實IP地址的方法二

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;
}
<hr/>

3. 如何獲取用戶真實訪問IP問題

1、如果伺服器如果沒有採用反向代理,而且客戶端沒有用正向代理的話,那麼可以獲取客戶端的真實IP地址request.getRemoteAddr()
2、如果伺服器如果沒有採用反向代理,而且客戶端有用正向代理的話,那麼通過request.getRemoteAddr()獲取客戶端的IP地址是客戶端 的代理伺服器的地址,並不是客戶端的真實地址,
3、如果客戶端使用的是多層代理的話,伺服器獲得的客戶端地址是客戶端的最外圍代理伺服器的地址如果伺服器如果採用反向代理伺服器,不管客戶端採用的是何種方式訪問伺服器。
//獲得客戶端真實IP地址的方法一:
public String getRemortIP(HttpServletRequest request) {
if (request.getHeader("x-forwarded-for") == null) {
return request.getRemoteAddr();
}
return request.getHeader("x-forwarded-for");
}
//獲得客戶端真實IP地址的方法二:
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;
}

4. 如何獲取伺服器的IP地址

1、右鍵單擊「網上鄰居」選擇「屬性」,打開網路連接屬性。
2、在右側的「網路任務」欄中點擊「創建一個新的連接。
3、打開新建連接向導,點「下一步」。在 「網路連接屬性」選擇里,點擊「設置高級連接」,點擊「下一步」,然後,在接下來的「高級連接選項」中選擇「接受傳入的連接」。點擊「下一步」。勾尋直接並行,點擊「下一步」。
4、勾尋允許虛擬專用連接」,點「下一步」。
5、創建一個允許連接的用戶許可權。點擊「添加」按鈕,輸入雙魚IP轉換器賬戶和密碼後點「確定」。點擊「下一步」繼續。
6、在「網路軟體」中勾選需要用到的協議,一般保持默認即可。點擊「下一步」後,伺服器就搭建完成了。
選擇「開始」→「設置」→「控制面板」→「網路連接」→「創建一個新的連接」→「下一步」→「連接到我的工作場所的網路」→「下一步」→「虛擬專用網路連接」,按說明完成後面的操作即可。

5. 如何通過中轉伺服器的Ip地址來獲得真實的IP

我認為你這個問題好奇怪啊,如果計算機不接入網路的話,它的ip就毫無意義。就像人要活著身份證才有意義

6. 如何越過dns查看伺服器真實ip

1點擊電腦左下角圓形的圖標「開始」,然後在打開菜單中選擇「運行」

2 點擊「運行」後,就打開運行對話框,在運行對話框的的輸入框中輸入cmd,之後點下面的「確定」按鈕,打開cmd命令提示符

3在打開的cmd命令提示符中輸入下面的命令就可以查看自己的ip地址了
ipconfig /all

方法二

下面這種方式原理和xp系統類型,但是明顯操作比xp系統麻煩

點擊電腦右下角的表示「網路連接」的圖標,之後會打開連接信息對話框,選擇「打開網路和共享中心」

在打開的 「打開網路和共享中心」頁面中,選擇「本地連接」,

在打開的「本地連接 狀態」對話框中點擊「詳細信息」按鈕
之後會打開「網路連接詳細信息」對話框,在這里我們可以看到除了ip地址之外的更多信息,

7. 如何獲取用戶伺服器的IP地址

  • 開發工程中,需要給第三方提供介面,由於是僅僅對單獨一人提供介面支持,就暫時採取了IP白名單過濾的方式處理。下面是獲取用戶IP地址的方法privatefunctiongetIP(){

static$realip;

if(isset($_SERVER)){

if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){

$realip=$_SERVER["HTTP_X_FORWARDED_FOR"];

}elseif(isset($_SERVER["HTTP_CLIENT_IP"])){

$realip=$_SERVER["HTTP_CLIENT_IP"];

}else{

$realip=$_SERVER["REMOTE_ADDR"];

}

}else{

if(getenv("HTTP_X_FORWARDED_FOR")){

$realip=getenv("HTTP_X_FORWARDED_FOR");

}elseif(getenv("HTTP_CLIENT_IP")){

$realip=getenv("HTTP_CLIENT_IP");

}else{

$realip=getenv("REMOTE_ADDR");

}

}

return$realip;

}

熱點內容
訪問攔截怎麼解除安卓 發布:2024-09-20 17:28:48 瀏覽:273
蘿卜干存儲 發布:2024-09-20 17:21:37 瀏覽:714
蘋果手機如何遷移軟體到安卓手機 發布:2024-09-20 17:21:34 瀏覽:691
查看伺服器ip限制 發布:2024-09-20 16:56:27 瀏覽:388
p搜系統只緩存1頁為什麼 發布:2024-09-20 16:48:51 瀏覽:838
上網的賬號和密碼是什麼東西 發布:2024-09-20 16:31:31 瀏覽:612
安卓手機王者榮耀如何調超高視距 發布:2024-09-20 16:31:30 瀏覽:428
安卓G是什麼app 發布:2024-09-20 16:23:09 瀏覽:81
iphone怎麼壓縮文件 發布:2024-09-20 16:08:18 瀏覽:356
linux查看用戶名密碼是什麼 發布:2024-09-20 16:03:20 瀏覽:744