您的位置:首页 > 运维架构 > Nginx

使用nginx服务器时,php获取用户ip的方法

2016-07-14 09:44 489 查看
最近碰到HTTP_X_REAL_IP,查了资料。

$_SERVER['REMOTE_ADDR'];得到的都是服务器的地址

$_SERVER['HTTP_X_REAL_IP'];得到的都是客户端的地址

nginx 代理模式下,获取客户端真实IP

在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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx php 服务器