0

我刚刚注意到我所有的用户都有相同的 ip。直到昨天它工作正常。

我正在使用下面的代码来获取用户 ip 及其返回服务器 ip 65.254.32.34

<?php
function getrealip() {
    if (!empty($_SERVER['HTTP_CLIENT_IP']))
        {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
        {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    } else {
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}       
?>

我现在正在对此进行测试,code并且显示相同的 ip。

<?php
echo 'Server IP: ' . $_SERVER['SERVER_ADDR'] . '<br />';
echo 'Your IP: ' . $_SERVER['REMOTE_ADDR'];
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
   echo '<br />Forwarded For: ' . $_SERVER['HTTP_X_FORWARDED_FOR'];
}
?>

输出是:

Server IP: 65.254.32.34
Your IP: 65.254.32.34

我的IP在哪里:115.240.13.83

我用我的第二个代码制作了一页:http: //ffsplus2.com/myip.php

4

2 回答 2

2

看起来您的 nginx 服务器设置不正确。看看这篇文章。

于 2013-07-23T06:17:50.707 回答
1

如果您的服务器位于同一台机器上的代理后面,并且代理未将 remote_addr 设置为客户端 ip,则可能会发生这种情况。remote_addr 记录了向该服务器发送请求的 ip。

Client -> Proxy -> Server

和上面的模型一样,对于Proxy,remote ip addr是Client ip,对于Server,如果proxy没有正确设置,remote ip addr就是Proxy ip。

于 2013-07-23T06:23:26.813 回答