0

ユーザーのパブリック IP アドレスを取得したいのですが、私のコードはプライベート IP を取得しています... 何が問題か分かりますか?

私のコード:

function get_ip()
{
        $ips = "";

        if(isset($_SERVER["HTTP_CLIENT_IP"]))
            $ips .= ';'.$_SERVER["HTTP_CLIENT_IP"];

        if(isset($_SERVER["HTTP_X_FORWARDED_FOR"]))
            $ips .= ';'.$_SERVER["HTTP_X_FORWARDED_FOR"];

        if(isset($_SERVER["HTTP_X_FORWARDED"]))
            $ips .= ';'.$_SERVER["HTTP_X_FORWARDED"];

        if(isset($_SERVER["HTTP_FORWARDED_FOR"]))
            $ips .= ';'.$_SERVER["HTTP_FORWARDED_FOR"];

        if(isset($_SERVER["HTTP_FORWARDED"]))
            $ips .= ';'.$_SERVER["HTTP_FORWARDED"];

        if(isset($_SERVER["REMOTE_ADDR"]))
            $ips .= ';'.$_SERVER["REMOTE_ADDR"];

    return $ips;

}

関数が ip を "10.46.40.246" として返すことがあります... パブリック ip を取得する最良の方法は何ですか? ありがとうございます !

4

1 に答える 1