Django:获取请求IP地址的正确方法是什么?

时间:2010-05-15 13:46:03

标签: python django

我正在尝试在Webfaction上使用Django 1.1开发一个应用程序。我想获取传入请求的IP地址,但是当我使用request.META ['REMOTE_ADDR']时,它返回127.0.0.1。似乎有许多不同的获取地址的方法,例如使用 HTTP_X_FORWARDED_FOR或插入一些名为SetRemoteAddrFromForwardedFor的中间件。只是想知道最好的方法是什么?

2 个答案:

答案 0 :(得分:2)

远程代理中间件是removed in Django 1.1.1,点头指出信任REMOTE_ADDR或HTTP_X_FORWARDED无论如何都不安全(如果这也有助于你决定做什么)

答案 1 :(得分:1)

我使用中间件,因为这样我就不必更改应用程序的代码了。

如果我想将我的应用程序迁移到其他托管服务器,我只需要修改中间件而不影响其他部分。

安全性不是问题,因为在WebFaction上,您可以信任来自前端服务器的内容。