分享

django应用中获取用户ip

 java_laq小馆 2014-03-04

假设django应用是用nginx+fastcgi方式部署的,获取用户ip分两步

  1. 修改nginx配置文件,在location中加入一条fastcgi_param REMOTE_ADDR $remote_addr;

  2. 在代码中,就可以直接使用 request.META.get('REMOTE_ADDR','1.1.1.1')

这种方法是自娱自乐的小网站,大型门户,用户和网站之间的链路可能非常复杂:

  • 用户通过3G上网,走的是ISP的网关
  • 门户的web服务器内部也有各种“网关”,比如电信网通之间的代理,负载均衡等等

这种情况要获取用户IP就只能通过 透明代理协议,从 HTTPXFORWARDEDFOR 字段里面提取,但HTTPXFORWARDEDFOR是http header的一个字段,完全可以伪造,所以这是团浆糊,没有办法完全精准的

本文地址: http:///132.htm 鲁塔弗原创文章,欢迎转载,请附带原文链接

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多