使用nginx伺服器時,php獲取使用者ip的方法
阿新 • • 發佈:2019-02-17
在nginx中設定:
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
後端程式可以從Server變數HTTP_X_REAL_IP和HTTP_X_FORWARDED_FOR中獲取使用者的ip地址。
HTTP_X_REAL_IP的值是nginx得到的使用者REMOTE_ADDR
附上一段php獲取客戶端ip的簡易程式碼
function getClientIP () { if (isset ($_SERVER ['HTTP_X_FORWARDED_FOR'])){ $clientIP = $_SERVER ['HTTP_X_FORWARDED_FOR']; } elseif (isset ($_SERVER ['HTTP_X_REAL_IP'])){ $clientIP = $_SERVER ['HTTP_X_REAL_IP']; } else { $clientIP = $_SERVER['REMOTE_ADDR']; } return $clientIP; }