从网站上提取IP地址

时间:2013-04-07 17:33:47

标签: php

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

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

为什么IP地址彼此不同?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:-1)

这也考虑了来自HTTP_CLIENT_IPHTTP_X_FORWARDED_FOR

的IP
/**
 * 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;
}