我刚刚在 Webfaction 上部署了一个 Flask 应用程序,我注意到request.remote_addr
总是127.0.0.1
。这当然没有多大用处。
如何在 Webfaction 上的 Flask 中获取用户的真实 IP 地址?
Thanks!
如果 Flask 前面有代理,那么这样的事情将获取 Flask 中的真实 IP:
if request.headers.getlist("X-Forwarded-For"):
ip = request.headers.getlist("X-Forwarded-For")[0]
else:
ip = request.remote_addr
Update:Eli 在他的评论中提到了非常好的观点。如果您只是简单地使用它,可能会出现一些安全问题。读伊莱的帖子 http://esd.io/blog/flask-apps-heroku-real-ip-spoofing.html以获取更多详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)