代码之家  ›  专栏  ›  技术社区  ›  Paulo

如何准确地确定网站访问者的位置?

  •  6
  • Paulo  · 技术社区  · 16 年前

    我需要一种一致可靠的方法来确定访问我的网站的计算机的位置(州/省、国家等),使用以下任何一种方法:

    • PHP
    • JavaScript
    • MySQL
    • 任何Web服务
    • 有什么我没想到的?

    我是 寻找一个锁定的第三方统计程序,如谷歌分析。它已经在使用中并且做了令人惊奇的事情,但是我需要代码级别的信息访问。

    理想的解决方案应该允许我提供所需的任何信息(如IP地址),并尽可能准确地获取有关访问的信息。获得原产国是最低要求,但如州、纬度和经度、城市等附加条件将是很好的。

    说明:我需要能够在PHP代码中定期使用这些信息。不只是随便看看。

    4 回复  |  直到 16 年前
        1
  •  7
  •   Community CDub    7 年前

    它被称为“地理定位”,并且 it's been covered before .

        2
  •  1
  •   Gregory A Beamer    16 年前

    如果你的意思是100%的可靠性,那就不存在了。但如果可靠意味着低于100%,您可以使用MaxMind进行地理定位。它们有一个开源版本:

    http://www.maxmind.com/app/geolitecity

    如果你需要更精确的结果,还有一个付费服务。

        3
  •  0
  •   Andrew Flanagan    16 年前

    Hostip.info 提供在应用程序中使用的免费IP geolookup api。但是,由于代理的易用性,IP查找将不一致或不可靠。任何通过代理访问您的站点的人都可能会被错误地报告。

    但是,这是使用IP所能做的最好的事情。

        4
  •  0
  •   J.J.    16 年前

    只为乡村地区。 Geoip libraries 是有用的。

    在Linux中甚至有一个命令行程序。

    此外,还可以使用PHP脚本获取环境变量。

    这是我写过的Perl脚本 display 变量。没什么花哨的。

    #!/usr/bin/perl
    
    print 'Content-type: text/HTML' . "\n\n";
    print "<body><center>";
    print "<table border=1>";
    print '<tr><td>' . $_ . "<td>" . $ENV{$_} . "<br>\n" foreach sort (keys(%ENV)) ;
    

    你可以看到浏览器