0

我正在尝试使用两种不同的方法从一个网站 (www.website.com) 获取 IP 地址。

在 www.website.com 上,我使用 www.website.com$_SERVER['REMOTE_ADDR']的 IP 地址并将其发送到 www.website2.com。然后我gethostbyname("www.website.com")在 www.website2.com 上使用搜索 www.website.com 的 IP 地址来比较它们,但由于某种原因它们并不相同。

为什么IP地址彼此不同?

4

2 回答 2

1

$_SERVER['REMOTE_ADDR']给出发出 HTTP 请求的客户端的 IP 地址,而不是托管脚本的服务器(保存在 中$_SERVER['SERVER_ADDR'])。

于 2013-04-07T17:36:10.740 回答
-1

这也说明了来自HTTP_CLIENT_IPHTTP_X_FORWARDED_FOR

/**
 * getVisitorIP
 *
 * Gets visitor IP address
 *
 * @return string Visitor IP address
 */
public function getVisitorIP() {
    $ip = $_SERVER['REMOTE_ADDR'];      
    if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    return $ip;
}
于 2013-04-07T17:42:13.090 回答