【问题标题】:How get the "real" user ip address?如何获得“真实”的用户 IP 地址?
【发布时间】:2012-10-25 19:57:46
【问题描述】:

我试图获取“真实”用户 IP 地址,它正在工作,但我没有得到自己的 IP(真实的),使用谷歌地图检查 IP,将其转换为长纬度,谷歌地图正在显示我的 ISP 的位置。

def get_client_ip(request):
    x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR')
    if x_forwarded_for:
        ip = x_forwarded_for.split(',')[0]
    else:
        ip = request.META.get('REMOTE_ADDR')
    return ip

我想要做的是显示来自用户发送文章的确切位置的地图。

有什么想法吗?

谢谢

【问题讨论】:

    标签: django geoip


    【解决方案1】:

    服务器端唯一可用的方法是 IP,它将始终解析到您的 ISP。

    更高级的方法存在安全风险,因此系统会提示用户允许它们(因此只有客户端可用)。查看 HTML5 GEO 了解更多信息:

    http://html5demos.com/geo

    http://dev.w3.org/geo/api/spec-source.html

    【讨论】:

      【解决方案2】:

      您将无法获得比这更精确的信息。报告的 IP 地址是正确的,但 IP 地址位置取决于 ISP。对于台式电脑来说,这已经足够了。

      您当前正在检索的 IP 是您的应用程序接收到的 IP,所有网络应用程序都知道,那就是您,但您可能在代理或 VPN 后面,而应用程序永远不会知道。

      【讨论】:

        猜你喜欢
        • 2011-06-08
        • 1970-01-01
        • 1970-01-01
        • 2013-08-01
        • 2014-05-17
        • 2013-08-18
        • 1970-01-01
        • 2019-02-01
        • 2011-09-02
        相关资源
        最近更新 更多