$ _SERVER的问题[' REMOTE_ADDR'];

时间:2016-01-14 19:53:08

标签: php

目前我正在尝试将我的客户端IP地址存储在视图中,这证明比预期更复杂。

以下是我目前正在使用的代码。

<?php
    $ip = $_SERVER['REMOTE_ADDR'];
    print $_SERVER['REMOTE_ADDR'];
    $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json"));
    $location = $details->country;
    print '<br>';
    print $details->country;
    print '<br>';
    print $details->city;
?>

返回看起来像这样的内容。

173.245.56.104
US
San Francisco

此IP和此位置链接回cloudflare服务器,而不是我的实际IP地址。

您可以在此处查看此信息 cf-173-245-56-104.cloudflare.com

当我的好友访问包含假定提供IP的文档的同一网址时,它给了他们一个不同的IP也连接到CloudFlare。

示例1如下。

199.27.128.244
SG
Singapore

指向此cloudflare主机名的链接 cf-199-27-128-244.cloudflare.com

通过简单的查找,您可以看到它甚至没有提供正确的GEO,因此我希望使用此代码,如果它说美国用户来自的话甚至都不可行新加坡或其他国家。

enter image description here

所以问题是,我如何在访问时获得 REAL 客户端IP地址?

0 个答案:

没有答案