PHP獲取客戶端真實IP位址的方法

2021-10-06 03:39:03 字數 2598 閱讀 2741

http_client_ip 是**伺服器傳送的http頭。如果是「超級匿名**」,則返回none值。同樣,remote_addr也會被替換為這個**伺服器的ip。

$_server['remote_addr']; //訪問端(有可能是使用者,有可能是**的)ip

$_server['http_client_ip']; //**端的(有可能存在,可偽造)

$_server['http_x_forwarded_for']; //使用者是在哪個ip使用的**(有可能存在,也可以偽造) 1.

php如何獲取使用者的ip位址

2. php如何獲取客戶端的ip位址? 1.

三個值區別如下:

一、沒有使用**伺服器的情況:

remote_addr = 您的 ip

http_via = 沒數值或不顯示

http_x_forwarded_for = 沒數值或不顯示

二、使用透明**伺服器的情況:transparent proxies

remote_addr = 最後乙個**伺服器 ip

http_via = **伺服器 ip

http_x_forwarded_for = 您的真實 ip ,經過多個**伺服器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

這類**伺服器還是將您的資訊**給您的訪問物件,無法達到隱藏真實身份的目的。

三、使用普通匿名**伺服器的情況:anonymous proxies

remote_addr = 最後乙個**伺服器 ip

http_via = **伺服器 ip

http_x_forwarded_for = **伺服器 ip ,經過多個**伺服器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

隱藏了您的真實ip,但是向訪問物件透露了您是使用**伺服器訪問他們的。

四、使用欺騙性**伺服器的情況:distorting proxies

remote_addr = **伺服器 ip

http_via = **伺服器 ip

http_x_forwarded_for = 隨機的 ip ,經過多個**伺服器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

告訴了訪問物件您使用了**伺服器,但編造了乙個虛假的隨機ip代替您的真實ip欺騙它。

五、使用高匿名**伺服器的情況:high anonymity proxies (elite proxies)

remote_addr = **伺服器 ip

http_via = 沒數值或不顯示

http_x_forwarded_for = 沒數值或不顯示 ,經過多個**伺服器時,這個值類似如下:203.98.182.163, 203.98.182.163, 203.129.72.215。

完全用**伺服器的資訊替代了您的所有資訊,就象您就是完全使用那台**伺服器直接訪問物件。

functionget_real_ip()

//多重**伺服器下的客戶端真實ip位址(可能偽造),如果沒有使用**,此字段為空

//客戶端ip 或 (最後乙個)**伺服器 ip

return($ip?$ip:$_server['remote_addr']);

}

獲取客戶端的真實IP位址

在很多應用下都可能有需要將使用者的真實ip記錄下來,這時就要獲得使用者的真實ip位址,在jsp裡,獲取客戶端的ip位址的方法是 request.getremoteaddr 這種方法在大部分情況下都是有效的。但是在通過了apache,squid等反向 軟體就不能獲取到客戶端的真實ip位址了 獲得客戶端...

獲取客戶端真實的IP位址

獲得客戶端真實ip位址的方法 可是,如果通過了多級反向 的話,x forwarded for的值並不止乙個,而是一串 值,究竟哪個才是真正的使用者端的真實ip呢?答案是取x forwarded for中第乙個非unknown的有效ip字串。如 x forwarded for 192.168.1.11...

php獲取客戶端真實ip

此外的三個值區別如下 一 沒有使用 伺服器的情況 remote addr 您的 ip 沒數值或不顯示 沒數值或不顯示二 使用透明 伺服器的情況 transparent proxies remote addr 最後乙個 伺服器 ip 伺服器 ip 您的真實 ip 經過多個 伺服器時,這個值類似如下 2...