PHP 獲取客戶端的真實IP

2022-03-12 04:17:25 字數 558 閱讀 6325

static protected function getip()

http_client_ip、http_x_forwarded_for都可以通過http header來偽造。專案中很多伺服器隱藏在負載均衡後面,你通過remote_addr只能獲取到負載均衡節點的ip位址,一般的負載均衡節點會把前端實際的ip位址通過http_client_ip或者http_x_forwarded_for這兩種http頭傳遞過來

這個值就是真實的,因為它是負載均衡節點告訴你的而不是客戶端。但當你的伺服器直接暴露在客戶端前面的時候,請不要信任這兩種讀取方法,只需要讀取remote_addr就行了

http_client_ip:可通過http頭偽造

http_x_forwarded_for:可通過http頭偽造

remote_addr:可能是使用者真實ip也可能是**ip

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

function getip regist off的問題 if register globals 1 其中remote addr比較好理解,php手冊上有說明它是預定的變數 而http x forwarded for呢,在網上找了一些資料,是這麼說的 在php 中使用 server remote a...