php 獲取客戶端的真實ip

2021-09-01 06:43:32 字數 654 閱讀 8425

function getip()

regist=off的問題

if ($register_globals!=1)

其中remote_addr比較好理解,php手冊上有說明它是預定的變數;而http_x_forwarded_for呢,在網上找了一些資料,是這麼說的

在php 中使用 $_server["remote_addr"] 來取得客戶端的 ip 位址,但如果客戶端是使用**伺服器來訪問,那取到的就是**伺服器的 ip 位址,而不是真正的客戶端 ip 位址。要想透過**伺服器取得客戶端的真實 ip 位址,就要使用 $_server["http_x_forwarded_for"] 來讀取。

不過要注意的事,並不是每個**伺服器都能用 $_server["http_x_forwarded_for"] 來讀取客戶端的真實 ip,有些用此方法讀取到的仍然是**伺服器的 ip。

至於http_client_ip,有篇貼子上說

'http_client_ip'是使用者的ip,'http_x_forwarded_for'是**的ip

這些ip頭訊息未必能夠取得到(因為不同的瀏覽器不同的網路裝置,可能發不同的ip頭訊息).所以php就嘗試把每個ip頭訊息判斷一下,若有,則取其中的乙個.

引自:[url]

php獲取客戶端真實ip

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

PHP獲取客戶端真實IP

今天學習了一下php獲取客戶端真實ip,又遇到坑 不完全算坑,就是不懂吧 如下 獲取客戶端真實ip function getip 其實沒問題,本地測試一下,結果要麼獲取了127.0.0.1,要麼是 找了一堆部落格大都這樣寫,那問題是?最後放到阿里雲伺服器再本地客戶端測試一下,結果成功了。原因可能是因...

PHP 獲取客戶端的真實IP

static protected function getip http client ip http x forwarded for都可以通過http header來偽造。專案中很多伺服器隱藏在負載均衡後面,你通過remote addr只能獲取到負載均衡節點的ip位址,一般的負載均衡節點會把前端實...