我刚刚在网络派别上部署了一个Flask应用程序,我注意到request.remote_addr
总是127.0.0.1
。这当然没有多大用处。
怎样才能获取用户在Flask on Webfaction中的真实IP地址?
谢谢!
发布于 2013-09-04 01:38:51
重写Ignas的答案:
headers_list = request.headers.getlist("X-Forwarded-For")
user_ip = headers_list[0] if headers_list else request.remote_addr
请记住阅读有关欺骗注意事项的Eli's post。
发布于 2014-04-25 07:14:15
您可以使用request.access_route
访问ip列表:
if len(request.access_route) > 1:
return request.access_route[-1]
else:
return request.access_route[0]
更新:
你可以这样写:
return request.access_route[-1]
发布于 2012-10-08 01:12:49
问题是在Flask前面可能有某种代理。在这种情况下,“真正的”IP地址通常可以在request.headers['X-Forwarded-For']
中找到。
https://stackoverflow.com/questions/12770950
复制相似问题